首页 > 数据库技术 > 详细

使用Java代码操作数据库的注意事项

时间:2020-05-18 20:02:20      阅读:50      评论:0      收藏:0      [点我收藏+]

在Java中使用PreparedStatement操作数据库时产生了一个小问题,想当然的把数据库的列放入了占位符里:

public void updateUser(User user, String columnLabel, Object value) {
        connection = JDBCUtils.getConnection();
        String sql = "update user set ? = ? where uid = ?";
        try {
            ps = connection.prepareStatement(sql);
            ps.setObject(1,columnLabel);
            ps.setObject(2,value);
            ps.setInt(3,user.getUid());
            ps.executeUpdate();
        } catch (SQLException e) {
            System.out.println(this.getClass()+"updateUser");
            e.printStackTrace();
        }finally {
            JDBCUtils.close(connection,ps,rs);
        }
        System.out.println("修改成功");
    }

这种做法会产生SQL语法错误,正确的做法是在sql变量中拼接columnLabel,然后对另外两个占位符进行设置,这样就不会产生SQL的语法错误。

String sql = "update user set "+columnLabel+" = ? where uid = ?";
ps.setObject(1,value);
ps.setInt(2,user.getUid());

 

使用Java代码操作数据库的注意事项

原文:https://www.cnblogs.com/raisins/p/12830140.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!