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());

 

posted @ 2023-01-05 20:07  喝着农药吐泡泡o  阅读(91)  评论(0编辑  收藏  举报