a).PreparedStatement 可以进行批量操作,但是与Statement有一定的区别

       1.  Statement可以进行不同sql语句的批量操作
即可以同时进行 crud 操作. String sql1=xxx;
String sql2=xxx;
String sql3=xxx;
Statement statement=conn.createStatement();
statement.addBatch(sql1) ;
statement.addBatch(sql2);
statement.addBatch(sql3); statement.executeQuery(sql)
or
statement.executeUpdate(sql) 2. PreparedStatement 不能执行不同的sql语句, 只能执行一条类型的sql语句,但是可以参数不同 String sql="insert into table values(?,?,?,?,?)";
PreparedStatement pstm=conn.preparedStatement (sql);
pstm.setString(1,xx);
pstm.setString(2,xx);
pstm.setString(3,xx);
pstm.setString(4,xx);
pstm.addBatch();
pstm.setString(1,xx);
pstm.setString(2,xx);
pstm.setString(3,xx);
pstm.setString(4,xx);
pstm.addBatch(); pstm.executeQuery();
or
pstm.executeUpate();

b) 注意这些批量操作,应该使用开启事务

        开启事务:
1.需要去看数据库是否支持事务,更换引擎为InnodDB
2.有些版本的navicat有一个开启事务的按钮
3.在Dao层中,可以使用conn.setAutoCommit(false) 默认为true,这里设置为false,可以阻止自动提交
//在进行完操作后,应该手动提交
conn.commit();
//如果出错, 需要回滚事务,那么我们可以在catch中进行事务的回滚操作
//首先判断conn是否关闭了
if(!conn.isClosed)
{
//没有关闭进行回滚
conn.rollback();
//随你...
conn.setAutoCommit(true);
}

最新文章

  1. Windows 10 安装SVN 不显示状态图标--解决方法
  2. Linux系统下设置环境变量
  3. UVALive 4428 Solar Eclipse --计算几何,圆相交
  4. VC CComboBox用法总结
  5. hdu 4982 Goffi and Squary Partition
  6. 锋利的jQuery书中推荐的几款插件
  7. 圆形图片CircleImageView
  8. 【BZOJ】2253: [2010 Beijing wc]纸箱堆叠
  9. java易错基础知识点
  10. ArcGIS API for Silverlight 点沿着线流动
  11. hdu 2057
  12. 编写优秀jQuery插件的10个技巧
  13. Linux 电子书共享下载--大家一起学习
  14. 在JBuilder8在使用ANT
  15. SQL函数学习(一):substring()函数
  16. 转 : net use的使用
  17. activemq的安装与使用
  18. CodeForces - 740C
  19. LVS负载均衡原理
  20. hashChange & url change & QRCode & canvas to image

热门文章

  1. 「SNOI2017」礼物
  2. NOIP 模拟赛 那些年,我们学过的文化课 --致已退役的fqk神犇.
  3. noi.ac #535 生成树
  4. BZOJ 4823 Luogu P3756 [CQOI2017]老C的方块 (网络流、最小割)
  5. <% 拼写页面
  6. Swagger : API JSON 文件 转 PDF 问题总结
  7. python接口自动化:python3.6中import Crypto.Hash报错的解决方案
  8. Nginx事件管理之epoll模块
  9. 求平面上N点最远两点和最近两点距离
  10. Struts模型驱动