1.通过第一种方式传参会报空指针异常,正确设置参数为空的方式是第二种。
Object[] params = null; //1.错误
Object[] params = {};//2.正确
2.为sql设置参数代码如下:
for (int i = 0; i < params.length; i++) {
//setObject 用于设置占位符的参数 占位符(?)从1开始 但是数组从0开始
//例如 Select * From tableName Where id=? And Name=? 占位符是? params表示传给占位符的参数
//第一个为params[0] 第二个就是params[1]
preparedStatement.setObject(i + 1, params[i]);
}
3.sql语句使用?作为占位符代替参数params[i],如:
UPDATE smbms_user SET userPassword= ? WHERE id = ?
等于:
UPDATE smbms_user SET userPassword= params[0] WHERE id = params[1]