jdbc 中prepareStatement对sql中的占位符赋值问题

jdbc 中prepareStatement对sql中的占位符赋值问题,第1张

第一个问题: prepareStatement 传递值

prepareStatement.setObject(序号,值)需要依据数据库而定,有得从1开始,有得从 0开始。

Oracle,MySQL从 0 开始。

prepareStatement.setObject(1,12)

prepareStatement.setObject(2,13)

第二个:(?) 表示只有一个参数,等价于select *from table where field=? ,如果in 的范围中有第二个值,你那个SQL就玩不转了。建议你拼写在SQL 中select *from table where field in(12,13....) and field2 = ?

if( curriculum.getT_curriculum_type_id()==null){

ps.setNull(5, java.sql.Types.INTEGER)

}else{

ps.setLong(5, curriculum.getT_curriculum_type_id())

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11904568.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存