随笔分类 - mybatis
摘要:摘自:https://blog.csdn.net/weixin_44321065/article/details/132576008 一、 下载 下载破解后的 MybatisCodeHelperPro 的 V3.2.2版本V3.2.2-CSDN 或者V3.2.2-Gitee 或者 链接:https:
阅读全文
摘要:可参考硬核资料:https://blog.csdn.net/weixin_43184769/article/details/91126687 springboot中mybatis的mapper接口是如何生成代理对象的:https://www.jianshu.com/p/de4c41dccc89 一、
阅读全文
摘要:简介 本文将介绍一个将Mybatis日志中的SQL转为可执行的SQL的网页工具,不需要安装,用浏览器打开即可,非常方便。可以在看服务器日志时,直接拷贝出SQL日志,然后解析为正常SQL执行。 一.先看效果图: 虽然页面很简陋,但是功能俱全,一键解析,一键复制。 比如有Where In语句,括号里面有
阅读全文
摘要:mybatis 底层是基于 JDK 动态代理来实现 mapper 动态代理的,所以我们先来看看 JDK 动态代理。 1、回顾JDK 动态代理 1.1、定义接口 & 实现类 public interface Subject { int add(int x, int y); } public class
阅读全文
摘要:摘自:https://www.cnblogs.com/yissheng/p/9927519.html 第一次的配置 <trim prefix=" tags =case" suffix="end"> <foreach collection="_parameter.keys" item="item" i
阅读全文
摘要:背景:原本目的在于根据一个整形字段进行降序排列,排序结果应该是要达到10>9>8>1 因表结构定义字段为string 时,order by String 导致排序与目标不一致,导致排序结果成为8>9>10>1,导致排序错误,进一步引发其他问题。 原因String 是比较字符的ascii 码,会导致1
阅读全文
摘要:MyBatis 一级缓存最大的共享范围就是一个SqlSession内部,那么如果多个 SqlSession 需要共享缓存,则需要开启二级缓存,开启二级缓存后,会使用 CachingExecutor 装饰 Executor,进入一级缓存的查询流程前,先在CachingExecutor 进行二级缓存的查
阅读全文
摘要:/*测试一级缓存(本地缓存):sqlSession的缓存级别。一级缓存是一直开启的 * 与数据库同一次会话期间查询到的数据会放在本地缓存中。 * 以后如果需要获取相同的数据,直接从缓存中拿,不需要再去查数据库; * * 一级缓存失效情况: * 1、sqlSession不同 * 2、sqlSessio
阅读全文
摘要:StudentMapper中的配置 抽取的sql用<sql>标签;属性id即该sql的唯一标识 需要引用时使用<include>标签;属性refid填写要引用sql的id <!-- 通过foreach批量插入数据 --> <insert id="insertStusByForeach"> inser
阅读全文
摘要:<select id="getStuByTrim" resultType="student"> select * from student <!-- 绑定参数拼接字符串 --> <bind name="stuName" value="'%'+name+'%'"/> <trim prefix="whe
阅读全文
摘要:foreach元素的属性主要有item,index,collection,open,separator,close。 item:集合中元素迭代时的别名,该参数为必选。 index:在list和数组中,index是元素的序号,在map中,index是元素的key,该参数可选 open:foreach代
阅读全文
摘要:Student.java StudentMapper接口定义方法 StudentMapper配置文件进行相应配置 方式一(<set>和<if>结合) <update id="updateStu"> update student <!-- set会去掉拼接后的字符串多余的(逗号), 比如只修改id时则
阅读全文
摘要:StudentMapper接口中定义方法 StudentMapper配置文件进行相应的配置(这里没有写<otherwise>标签,接在<when>标签即可) <select id="getStuByChoose" resultType="student"> select * from student
阅读全文
摘要:Student.java: StudentMapper接口定义方法: StudentMapper配置文件进行配置 <select id="getStuByIf" resultType="student"> select * from student where <!-- test:判断表达式;里面使
阅读全文
摘要:这个例子只是重在为了理解discriminator的使用 一对多的实体类Student.java 多对一的实体类College.java StudentMapper接口定义测试discriminator的方法 StudentMapper的sql配置文件中进行相对应接口方法配置 <!-- 测试鉴别器d
阅读全文
摘要:举例注释中说明: <collection property="students" select="com.pxxy.bean.StudentMapper.getStusByColId" column="id" fetchType="lazy"> <!-- 多列值传递时:将多列的值封装成map进行传递
阅读全文
摘要:一、sql语句中使用左连接查询方式 一的一方College.java: 多的一方Student.java College的mapper接口方法 College的sqlmapper文件配置 <resultMap type="com.pxxy.bean.College" id="collegeMap">
阅读全文
摘要:MyBatis的Lazy Loading可以实现延迟查询Bean里的嵌套成员类,控制lazy loading的<settings>属性有 lazyLoadingEnabled: lazy loading开关 aggressiveLazyLoading: 侵略性 lazy loading 开关 设置项
阅读全文
摘要:一、没有级联属性的情况时 sqlmapper文件配置 <!-- 自定义resultMap type:指定返回的类型;id:指定resultMap的唯一标识 --> <resultMap type="com.pxxy.bean.Employee" id="empMap"> <id column="id
阅读全文
摘要:一、返回list mapper接口方法: sqlmapper文件配置: <!-- 根据name模糊查询返回list resultType写list里面的类型,多个结果mybatis会自动添加到list中 --> <select id="selectEmpByNameLike" resultType=
阅读全文