preparedStatement.setObject()为什么要这样写?

setObject就是给JDBC的SQL语句的占位符赋值的,即是下面的“?”

预编译的SQL:参数使用?作为占位符

注意:sql的参数使用?作为占位符。 如:

select * from user where username = ? and password = ?;
获取执行sql语句的对象 PreparedStatement Connection.prepareStatement(String sql)

给?赋值:(Xxx代表参数类型)

PreparedStatement的setObject的作用和setString的作用是一样的!

setObject的第一个参数是?的位置编号,第二个参数是Object类型,因为所有的类型默认继承object,这个时候参数就没有类型限制,你可以传入String类型或者Int类型…不需要手动设置传参类型。

  StringBuilder stringBuilder=new StringBuilder();
        stringBuilder.append("update admin set user_name=?,pwd=?,state=? where id=?");
        try {
            preparedStatement = connection.prepareStatement(stringBuilder.toString());
            preparedStatement.setObject(1, admin.getUser_Name());

 

本文作者:TranquilTimber

本文链接:https://www.cnblogs.com/gbrr/p/16892036.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   喝着农药吐泡泡o  阅读(139)  评论(0编辑  收藏  举报
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
🔑
点击右上角即可分享
微信分享提示