1、使用Statement:
需要拼SQL很麻烦,而且容易出错
容易发生SQL注入
2、PreparedStatement:
是Statement的子接口
可以传入带占位符的SQL语句,并且提供了补充占位符变量的方法
3、PreparedStatement的使用
1)创建PreparedStatement:
String sql = "insert into table values(?,?,?,?,)"
PreparedStatement ps = conn.prepareStatement(sql);
2)调用PreparedStatementd的setXxx(int index,Object val)设置占位符的值,index值从1开始
ps.setInt(1,1)
ps.setString(2,"aaa")
ps.setDate(3,new Date(new java.util.Date().getTime()))
3)传入SQL语句:executeQuery()或executeUpdate() 此时不需要再传入SQL语句
ps.executeQuery() ps.executeUpdate()