MyBatis(三)
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(三)相关推荐
- Mybatis(三) 映射文件详解
前面说了全局配置文件中内容的详解,大家应该清楚了,现在来说说这映射文件,这章就对输入映射.输出映射.动态sql这几个知识点进行说明,其中高级映射(一对一,一对多,多对多映射)在下一章进行说明. 一.输 ...
- JavaWeb学习之路——SSM框架之Mybatis(三)
数据库配置和相关类创建看上篇:JavaWeb学习之路--SSM框架之Mybatis(二) https://blog.csdn.net/kuishao1314aa/article/details/832 ...
- mybatis三种(查询,参数传递)
MyBatis中三种查询方式 Mapper文件代码 <mapper namespace="com.java.mapper.FlowerMapper"> <sele ...
- 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 ...
- mybatis三种起别名的方法
前言 当我们在mybatis的学习中经常会涉及到数据的增,删,改,查,然而我们在编写这部分代码的时候,经常的会涉及到一些类的使用,一般情况我们会选择采用包结构来一级一级的去查找这个类eg(com.xx ...
- MyBatis 三种批量插入方式的比较,我推荐第3个!
欢迎关注方志朋的博客,回复"666"获面试宝典 数据库使用的是SQLServer,JDK版本1.8,运行在SpringBoot环境下 对比3种可用的方式 反复执行单条插入语句 xm ...
- spring与mybatis三种整合方法
原文:链接 https://www.cnblogs.com/wangmingshun/p/5674633.html 1.采用MapperScannerConfigurer,它将会查找类路径下的映射器并 ...
- MyBatis(三)——动态SQL
文章目录 1. 简介 2. 搭建环境 2.1 在MySQL中创建blog表 2.2 编写实体类 2.3 编写实体类对应Mapper接口 2.4 编写Mapper接口对应的Mapper.xml文件 2. ...
- SpringBoot 2.x 整合Mybatis三:tk.mybatis
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/80734057 本文出自[赵彦军的博客] 简介 地址:https://github. ...
- MyBatis(三)MyBatis缓存和工作原理
MyBatis缓存 MyBatis提供了一级缓存和二级缓存,并且预留了集成第三方缓存的接口. 从上面MyBatis的包结构可以很容易看出跟缓存相关的类都在cache的package里,其底层是一个Ca ...
最新文章
- UWP 推荐 - 限时免费的RSS阅读器《RSS 追踪》登录 Windows 10
- 2019DTCC大会分享:分布式数据库全局读一致性
- [Luogu1821][USACO07FEB]银牛派对Silver Cow Party
- linxu /proc/stat 文件
- android-studio-ide下载安装配置JDK第一个helloworld 一条龙
- android微博表情条,类似新浪微博EditText,可@某人,#插入话题,表情
- SVPWM调制中非零基础矢量的幅值是2/3Udc还是Udc?
- Mac 如何安装tomcat
- JAVA菜鸟的第一天
- hashmap java 排序_Java HashMap 默认排序
- 2021年中国房地产行业发展现状及2022年前景展望「图」
- 小程序分享H5链接地址异常
- 如何做好新媒体软文营销推广
- 土豆网(第三方网站)使用qq登录的步骤和原理------oAuth协议
- redis存储新闻列表_聊聊Redis使用场景
- 上市公司产权和股权性质-区分非国企、国企和央企(2003-2020)
- Chrome插件离线安装方法及编程思路
- 支付宝数字化经营能加盟吗?真实情况原来是这样!(深度好文)
- 【供应链案例】屈臣氏是如何优化供应链系统的
- 推荐系统入门(四):WideDeep(附代码)
热门文章
- vue里ref ($refs)用法
- this.$nextTick()的使用场景
- c++中的类型转换--reinterpret_cast
- python处理csv数据
- 11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机
- leetcode 141. Linked List Cycle
- ABaseApdater
- 配置IntelliJ IDEA
- connectionString加密
- Linux用系统命令杀死僵尸进程