码迷,mamicode.com
首页 > 其他好文 > 详细

MyBaits基本操作,为什么session.commit()可以引起事物提交?ResultMap结果映射,执行添加后返回自增列的值,多条件查询,智能标签,工具类

时间:2018-02-24 21:54:27      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:使用   智能   定义   .com   自增列   gpo   类型   exec   标签   

1.为什么session.commit()可以引起事务的提交?

首先打开commit()源码,ctrl+H打开它的实现类DefaultSession,找到它的commit方法

技术分享图片

ctrl+左键executor,进入它的接口并打开它的实现类BaseExecutor

技术分享图片

 

技术分享图片

在最底层的commit()方法里边进行了事务的提交,所以SqlSession.commit()方法可以引起事务的提交

 

2.ResultMap结果映射

为什么需要ResultMap?

因为DB中的Table的列名和Java对象中的属性名不一致时需要手工映射

ResultMap实现代码

技术分享图片

注:select标签中的resultMap和resultType不允许同时出现

 

3.执行添加后返回自增列的值

首先在insert节点中添加一个selectKey节点配置如下

技术分享图片

属性keyProperty的值要和实体类中的id属性一致

 

4.多条件查询

多条件查询可以使用Map集合查询,也可以使用索引号查询

技术分享图片

实体类实现代码

技术分享图片

技术分享图片

 

 5.智能标签

智能标签分为:where ,if ,choose,foreach

where if类似于多重if判断

技术分享图片

choose类似于switch结构

技术分享图片

foreachArray类型

技术分享图片

foreach<自定义>

技术分享图片

foreachList类型

技术分享图片

 

MyBaits基本操作,为什么session.commit()可以引起事物提交?ResultMap结果映射,执行添加后返回自增列的值,多条件查询,智能标签,工具类

标签:使用   智能   定义   .com   自增列   gpo   类型   exec   标签   

原文地址:https://www.cnblogs.com/xuchangqi1/p/8467538.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!