preparestatement防止sql注入的方法:
當使用PreprareStatement時,即使參數里有敏感字符如or '1=1',數據庫也會作為一個參數一個字段的屬性值來處理,而不會作為一個SQL指令來執行,用法示例:
String sql="update cz_zj_directpayment dp"+
"set dp.projectid = ? where dp.payid= ?";
try {
PreparedStatement pset_f = conn.prepareStatement(sql);
pset_f.setString(1,inds[j]);
pset_f.setString(2,id);
pset_f.executeUpdate(sql_update);
}catch(Exception e){
//e.printStackTrace();
logger.error(e.message());
}