JDBC DAO层SQL语句操作
一.PrepareStatment(pstmt)
pstmt的预编译模式可以在多次sql需要多次执行相同操作但是参数产生变化的时候,只需要在第一次把SQL语句写好,
并且通过pstmt.addBatch();来进行区分.
例如:
//想多次对stu表的不同姓名的人的年龄进行修改
PrepareStatment pstmt = conn.prepareStatment(“UPDATE stu SET age=? WHERE name=?;”);
pstmt.setInt(1,20);
//?表示占位符,当参数需要变化时,用占位符表示,并且要插入对应类型的参数,表中age的类型为int,所以setInt
pstmt.setString(2,"张三")
//()中的1和2代表SQL语句中的占位符?的位置,1代表第一个?,2代表第二个?
pstmt.addBatch();//此时通过addBatch来表示上面的查询语句要存在缓存中,最后执行
pstmt.setInt(1,24);
pstmt.setString(2,"李四");
pstmt.addBatch();
//此时插入第二个人的信息,并且通过addBatch来截断,并且把第二个人的信息也存到缓存中,最后执行
pstmt.addBatch("DELETE FROM stu WHERE name = '王五’”);
//addBatch也可以直接写SQL数据,并且也直接存到缓存中最后执行
pstmt.executeBatch();//通过executeBatch来执行上述所有的sql操作.
二.事务操作
1.将数据库的几个操作封装成一个事务,只有当左右条件都执行完毕没有错误,才会写入数据库
例如:银行转账,A向B转账,A的数据库执行了修改操作,如果B没有收到钱的话,A与B的数据库都不会发生变化
Connection conn = null;
try {//通过将整个需要作为一个事务操作的sql语句一起选中,通过try catch包装成一个事务,在系统之前捕获异常
conn = Jdbcutil.getConnection();
//设置提交方式为手动提交
//开