首页 新闻 搜索 专区 学院

关于sql语句写在java代码里的问题?

0
[已解决问题] 解决于 2017-09-07 15:14

假如sql语句是这样的:select  * from A where ID=1

现在需要把这句sql写入java代码,那个 变量1 就不能带进代码里了,那怎样获取ID的值呢?就是那种用#、$获取ID的方式

起风了~~~的主页 起风了~~~ | 菜鸟二级 | 园豆:497
提问于:2017-08-09 22:09
< >
分享
最佳答案
0

select  * from A where ID=#{ID};

起风了~~~ | 菜鸟二级 |园豆:497 | 2017-09-07 15:11
其他回答(7)
0

你是要问字符串怎么拼接?

吴瑞祥 | 园豆:28831 (高人七级) | 2017-08-09 22:36

不是字符串拼接问题,就是用那种#、$获取某个字段值,就比如#{ID}这种获取ID的值方式,在sql语句嵌套在java代码中时该怎么表示

支持(0) 反对(0) 起风了~~~ | 园豆:497 (菜鸟二级) | 2017-08-10 08:46
0

给你一个例子:

String name;

String sql = "select count(*) from saveurl where projectNAME='" + name + "'";

ycyzharry | 园豆:21281 (高人七级) | 2017-08-10 08:44

不是问字符串拼接的问题!!!

就是用那种#、$获取某个字段值,就比如#{ID}这种获取ID的值方式,在sql语句嵌套在java代码中时该怎么表示

支持(0) 反对(0) 起风了~~~ | 园豆:497 (菜鸟二级) | 2017-08-10 08:47

@JAVA~~~: 类似下面这种吗

假如你通过URL参数或表单提交的参数名为id,那么可以这样:
<%
Dim Rs,Sql
Set
Rs = Server.CreateObject("ADODB.RecordSet")
Sql = "SELECT * FROM Music_mv WHERE Id = " & CLng(Request("id"))
Rs.Open Sql,Conn,1,1
%>

支持(0) 反对(0) ycyzharry | 园豆:21281 (高人七级) | 2017-08-10 09:00

@ycyzharry: String sql = "SELECT k.*,case  
                        WHEN u.USERKWORD_ID is null THEN 'false'
                        ELSE 'true' END AS checked
            FROM kwords k LEFT JOIN (SELECT * FROM userkword WHERE USER_ID='8991f4d7782a4ccfb8a65bd96ea7aafa') u ON k.KWORDS_ID=u.KWORDS_ID WHERE k.USERGROUP_ID='288d9590a9a94ef580afb7525fb7244e'";

支持(0) 反对(0) 起风了~~~ | 园豆:497 (菜鸟二级) | 2017-08-10 09:23

@ycyzharry: 就是这种sql,其中的USER_ID和USERGROUP_ID肯定不能像目前这样写死在程序里呀

支持(0) 反对(0) 起风了~~~ | 园豆:497 (菜鸟二级) | 2017-08-10 09:24

@JAVA~~~: 

类似这种吧

SELECT * FROM tb_demo083 WHERE code IN(SELECT code FROM tb_demo083 WHERE code BETWEEN '$_POST[text1]' AND '$_POST[text2]')

支持(0) 反对(0) ycyzharry | 园豆:21281 (高人七级) | 2017-08-10 10:02
0

去看看sql占位符

Ctrl` | 园豆:2584 (老鸟四级) | 2017-08-10 09:49
0

你是想问占位符吗

select  * from A where ID=?

丫丫丫呀 | 园豆:208 (菜鸟二级) | 2017-08-10 10:47
0

int a=5;

String sql="select * from user where id='"+a+"'"; 

用 '"+a+"'表示字符;

用   "+a+"表示数字;

超灬超 | 园豆:21 (初学一级) | 2017-08-16 11:31
0

int a=5;

String sql="select * from user where id='"+a+"'"; 

用 '"+a+"'表示字符;

用   "+a+"表示数字;

fcyh | 园豆:568 (小虾三级) | 2017-08-25 16:03
0

你可以看下NamedParameterJdbcTemplate,是不是你说的那个

苍枫露雨 | 园豆:1027 (小虾三级) | 2017-08-29 10:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册