知识点有事务处理的配置,还有事务处理的方法

事务处理的配置:

mybatis的事务处理由两种方式控制,JDBC和MANAGED;  MANAGED就是说事务处理由第三方的插件来完成,比如说spring。

事务处理的配置也是要写在基本配置文件当中,写在<environment>标签的子标签<transactionManager>

<environment>
<transactionManager type="JDBC"/>
  ...
</environment>

然后来看一下事务处理的方法,也就是经典代码:

首先要关闭自动提交,就是建立session的时候传一个false进去,其实默认就是这样。

try{

  session = sqlMapper.openSession(false);

然后就是各种各样的操作。

然后提交事务:

  session.commit();

} catch(Exception e) {//提交后有问题的话,我们有个回滚操作

  session.rollback();//回滚事务(回滚指的是程序或数据处理错误,将程序或数据恢复到上一次正确状态的行为。回滚包括程序回滚和数据回滚等类型。)

} finally {

  session.close();//关闭session

}

顺便说一下MyBatis的自动返回id机制:

session的insert方法很厉害, insert操作有个特点,就是把一个对象传进来的时候,会同时为这个原始的对象赋上该赋的值,比如说自增的id,这是Mybatis的一个特点,就是说本来java里面的这个JiKeUser对象里的id属性是没有赋值的,但是你把它insert操作,整个对象传进来之后,Mybatis会为这个对象的id属性自动赋上自增的id值!

最新文章

  1. ZeroMQ:云时代极速消息通信库
  2. 订阅Linux内核的邮件列表
  3. 【项目】搜索广告CTR预估(一)
  4. JavaScript的循环语句
  5. mysql把查询的结果格式成日期
  6. display:flex
  7. python代码风格指南:pep8 中文翻译
  8. 选中CheckBoxList的值放到TextBox中,再次选中从textBox中删除
  9. verilog中always块延时总结
  10. OpenCV——运用于pixels war游戏
  11. Win7环境 搭建IIS环境。发布asp.net MVC项目到IIS(第二期)
  12. Flask从入门到精通
  13. codevs2822
  14. 如何去掉li标签的重叠边框
  15. 深入了解View(一)—— measure測量流程分析
  16. PHP 批量操作删除,支持单个删除
  17. [GPU] DIY for Deep Learning Workstation
  18. 【CTF WEB】函数绕过
  19. 高博-《视觉SLAM十四讲》
  20. hibernate 中 fetch=FetchType.LAZY 懒加载失败处理

热门文章

  1. swiper插件制作轮播图swiper2.x和3.x区别
  2. LoadRunner 中调用c函数生成随机字符串
  3. HTTP协议漫谈 C#实现图(Graph) C#实现二叉查找树 浅谈进程同步和互斥的概念 C#实现平衡多路查找树(B树)
  4. 怎样用Google APIs和Google的应用系统进行集成(8)----怎样把Google Blogger(博客)的JSON Schema转换成XML的Schema(XSD)?
  5. Eclipse项目遇到问题汇总
  6. hexSHA1散列加密解密(不可逆)
  7. ubuntu安装ibus-goolepinyin通用方法
  8. html5--项目实战-仿天猫(移动端页面)
  9. 2018OKR年中回顾 转
  10. bzoj 3489 A simple rmq problem —— 主席树套线段树