1.session.commit()为什么会引起事物的提交?

  先ctrl+鼠标左键点入commit方法中,然后ctrl+H找到DefaultSqlSession这个类,在这个类中找到如下的方法

然后进入这个方法

这里有一个逻辑关系表达式,运算的顺序是  &&  ||  !的顺序依次运算得到的结果是true,那么该方法的返回值是true

所以执行器的提交,会引起事务的提交

2.session.close()会引起事务的回滚?(同上述方法相似,一步一步往上一层找,就可以找到答案,看到它底层的代码)

最终找到

可以得到session.close()会引起事务的回滚

3.resultMap结果映射

  在这需要注意的是resultType和resultMap不能同时存在(记住)

  它主要解决了什么问题呢?

  解决数据库表中Table中的字段和Java实体类中的字段名称不一致问题,需要我们手工映射

以查询语句为例

在小配置中首先添加一个节点<resultMap>

在sql语句的节点中resultType属性要改为resultMap他的值为上面resultMap节点的id的值

然后在大配置中也需要添加一个节点<settings>

这个的属性值有三个:NONE,PARTIAL(默认),FULL

4.添加后返回自增列的值

实现的结果为

5.多条件查询

多条件查询有两种方式Map  和 根据索引

首先第一种Map

第二种 根据索引号Index

6.智能标签

智能标签有 if  where  foreach  list array

(1)智能标签if where结合

首先声明方法在接口中

然后再小配置中添加节点

最后编写测试类  测试方法

(2)智能标签foreach array

首先声明方法在接口中

然后再小配置中添加节点

最后编写测试类  测试方法

(3)list<Integer>

(4)list<自定义>

7.util包:工具类

首先要先创建一个util包,MyBatisUtil类

MyBatisUtil类中

转载于:https://www.cnblogs.com/my-123/p/8469460.html

MyBatis(三)相关推荐

  1. Mybatis(三) 映射文件详解

    前面说了全局配置文件中内容的详解,大家应该清楚了,现在来说说这映射文件,这章就对输入映射.输出映射.动态sql这几个知识点进行说明,其中高级映射(一对一,一对多,多对多映射)在下一章进行说明. 一.输 ...

  2. JavaWeb学习之路——SSM框架之Mybatis(三)

    数据库配置和相关类创建看上篇:JavaWeb学习之路--SSM框架之Mybatis(二) https://blog.csdn.net/kuishao1314aa/article/details/832 ...

  3. mybatis三种(查询,参数传递)

    MyBatis中三种查询方式 Mapper文件代码 <mapper namespace="com.java.mapper.FlowerMapper"> <sele ...

  4. mybatis(三) XML映射器之select、update、delete、insert标签

    目录 文章目录 3.XML映射器 3.1.select 3.1.1.单表查询 3.1.2.select标签属性列表 3.1.3.parameterType属性 3.1.4.resultType 3.1 ...

  5. mybatis三种起别名的方法

    前言 当我们在mybatis的学习中经常会涉及到数据的增,删,改,查,然而我们在编写这部分代码的时候,经常的会涉及到一些类的使用,一般情况我们会选择采用包结构来一级一级的去查找这个类eg(com.xx ...

  6. MyBatis 三种批量插入方式的比较,我推荐第3个!

    欢迎关注方志朋的博客,回复"666"获面试宝典 数据库使用的是SQLServer,JDK版本1.8,运行在SpringBoot环境下 对比3种可用的方式 反复执行单条插入语句 xm ...

  7. spring与mybatis三种整合方法

    原文:链接 https://www.cnblogs.com/wangmingshun/p/5674633.html 1.采用MapperScannerConfigurer,它将会查找类路径下的映射器并 ...

  8. MyBatis(三)——动态SQL

    文章目录 1. 简介 2. 搭建环境 2.1 在MySQL中创建blog表 2.2 编写实体类 2.3 编写实体类对应Mapper接口 2.4 编写Mapper接口对应的Mapper.xml文件 2. ...

  9. SpringBoot 2.x 整合Mybatis三:tk.mybatis

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/80734057 本文出自[赵彦军的博客] 简介 地址:https://github. ...

  10. MyBatis(三)MyBatis缓存和工作原理

    MyBatis缓存 MyBatis提供了一级缓存和二级缓存,并且预留了集成第三方缓存的接口. 从上面MyBatis的包结构可以很容易看出跟缓存相关的类都在cache的package里,其底层是一个Ca ...

最新文章

  1. UWP 推荐 - 限时免费的RSS阅读器《RSS 追踪》登录 Windows 10
  2. 2019DTCC大会分享:分布式数据库全局读一致性
  3. [Luogu1821][USACO07FEB]银牛派对Silver Cow Party
  4. linxu /proc/stat 文件
  5. android-studio-ide下载安装配置JDK第一个helloworld 一条龙
  6. android微博表情条,类似新浪微博EditText,可@某人,#插入话题,表情
  7. SVPWM调制中非零基础矢量的幅值是2/3Udc还是Udc?
  8. Mac 如何安装tomcat
  9. JAVA菜鸟的第一天
  10. hashmap java 排序_Java HashMap 默认排序
  11. 2021年中国房地产行业发展现状及2022年前景展望「图」
  12. 小程序分享H5链接地址异常
  13. 如何做好新媒体软文营销推广
  14. 土豆网(第三方网站)使用qq登录的步骤和原理------oAuth协议
  15. redis存储新闻列表_聊聊Redis使用场景
  16. 上市公司产权和股权性质-区分非国企、国企和央企(2003-2020)
  17. Chrome插件离线安装方法及编程思路
  18. 支付宝数字化经营能加盟吗?真实情况原来是这样!(深度好文)
  19. 【供应链案例】屈臣氏是如何优化供应链系统的
  20. 推荐系统入门(四):WideDeep(附代码)

热门文章

  1. vue里ref ($refs)用法
  2. this.$nextTick()的使用场景
  3. c++中的类型转换--reinterpret_cast
  4. python处理csv数据
  5. 11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机
  6. leetcode 141. Linked List Cycle
  7. ABaseApdater
  8. 配置IntelliJ IDEA
  9. connectionString加密
  10. Linux用系统命令杀死僵尸进程