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

Posted xuchangqi1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBaits基本操作,为什么session.commit()可以引起事物提交?ResultMap结果映射,执行添加后返回自增列的值,多条件查询,智能标签,工具类相关的知识,希望对你有一定的参考价值。

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结果映射,执行添加后返回自增列的值,多条件查询,智能标签,工具类的主要内容,如果未能解决你的问题,请参考以下文章

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

Mybaits简诉

Mybaits-Plus操作CRUD

Mybaits-Plus操作CRUD

springboot 整合mybaits实现crud操作(含分页)案例

springboot整合mybaits plus 实现分页操作