2021年9月19日
摘要: 一、TypeHandler TypeHandler 在MyBatis中进行数据库类型和JavaBean类型的映射。 TypeHandler<T> 接口: 该接口中声明了四个抽象方法,说明如下: //将parameter对象转换为字符串存入到 ps 对象的i位置 public abstract voi 阅读全文
posted @ 2021-09-19 17:51 格物致知_Tony 阅读(590) 评论(0) 推荐(0)
摘要: 一、批量操作 默认的 openSession() 方法没有参数,它会创建有如下特性的 会开启一个事务(也就是不自动提交) 连接对象会从由活动环境配置的数据源实例得到 事务隔离级别将会使用驱动或数据源的默认设置 预处理语句不会被复用,也不会批量处理更新 openSession 方法的 Executor 阅读全文
posted @ 2021-09-19 17:49 格物致知_Tony 阅读(551) 评论(0) 推荐(0)
摘要: 一、存储过程 实际开发中,我们通常也会写一些存储过程,MyBatis也支持对存储过程的调用。 一个最简单的存储过程: delimiter $$ create procedure test() begin select 'hello'; end $$ delimiter ; 存储过程的调用: ① se 阅读全文
posted @ 2021-09-19 17:49 格物致知_Tony 阅读(597) 评论(0) 推荐(0)
摘要: 一、PageHelper 插件介绍 PageHelper是MyBatis中非常方便的第三方分页插件。 官方文档:https://github.com/pagehelper/MybatisPageHelper/blob/master/README_zh.md 我们可以对照官方文档的说明,快速的使用插件 阅读全文
posted @ 2021-09-19 17:48 格物致知_Tony 阅读(203) 评论(0) 推荐(0)
摘要: 4 阅读全文
posted @ 2021-09-19 17:46 格物致知_Tony 阅读(35) 评论(0) 推荐(0)
摘要: 1 阅读全文
posted @ 2021-09-19 17:25 格物致知_Tony 阅读(44) 评论(0) 推荐(0)
摘要: 一、动态改变SQL运行的参数 我们可以在目标方法放行前后,做非常多的事情,以到达动态修改 MyBatis 的运行流程。 在上面的插件开发基础上,当我们测试要查询id为1号的员工时,实际从数据库查询3号员工。 插件的实现: /** * 完成插件签名 * 告诉MyBatis当前插件用用来拦截哪个对象的哪 阅读全文
posted @ 2021-09-19 17:25 格物致知_Tony 阅读(247) 评论(0) 推荐(0)
摘要: 一、插件开发 MyBatis在四大对象的创建过程中,都会有插件进行介入。 插件可以利用动态代理机制一层层的包装目标对象,而实现在目标对象执行目标方法之前进行拦截的效果。 MyBatis 允许在已映射语句执行过程中的某一点进行拦截调用。 默认情况下, MyBatis 允许使用插件来拦截的方法调用包括: 阅读全文
posted @ 2021-09-19 17:25 格物致知_Tony 阅读(380) 评论(0) 推荐(0)
摘要: 一、定义接口 继承通用的Mapper,必须指定泛型 例如下面的例子: public interface UserInfoMapper extends Mapper<UserInfo> { //其他必须手写的接口...} 一旦继承了Mapper,继承的Mapper就拥有了Mapper所有的通用方法。 阅读全文
posted @ 2021-09-19 15:18 格物致知_Tony 阅读(290) 评论(0) 推荐(0)
摘要: Mapper 接口大全 Mapper3接口有两种形式,一种是提供了一个方法的接口。还有一种是不提供方法,但是继承了多个单方法的接口,一般是某类方法的集合。 例如SelectMapper<T>是一个单方法的接口,BaseSelectMapper<T>是一个继承了4个基础查询方法的接口。 基础接口 1、 阅读全文
posted @ 2021-09-19 12:56 格物致知_Tony 阅读(356) 评论(0) 推荐(0)