java的PreparedStatement能否支持多个值?
例:SQL语句为selectidfromtablewhereidnotin(...)其中,“(...)”代表一个集合,如(1,2,3)。集合内的元素数不确定Prepare...
例:SQL语句为select id from table where id not in (...)
其中,“(...)”代表一个集合,如(1, 2, 3)。集合内的元素数不确定
PreparedStatement能否把“(...)”内的元素参数化? 展开
其中,“(...)”代表一个集合,如(1, 2, 3)。集合内的元素数不确定
PreparedStatement能否把“(...)”内的元素参数化? 展开
展开全部
参考:
String[] names = new String[]{'name1','name2','name3'};
StringBuffer buffer = new StringBuffer();
buffer.append(names[0]).append(",").append(names[1]).append(",").append(names[2]);
String sql = "select e.* from employee e where e.name in (?)";
rs = pstmt.excuteQuery(sql);
pstmt.setString(1,buffer.toString());
String[] names = new String[]{'name1','name2','name3'};
StringBuffer buffer = new StringBuffer();
buffer.append(names[0]).append(",").append(names[1]).append(",").append(names[2]);
String sql = "select e.* from employee e where e.name in (?)";
rs = pstmt.excuteQuery(sql);
pstmt.setString(1,buffer.toString());
追问
我记得PreparedStatement为防止SQL注入攻击,会把setString()里面的特殊符号转义
这样,“name1, name2, name3”会被当做一个参数而不是3个?
追答
一个参数啊
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询