请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
首页 社区 数据库 Mybatis插件和通用Mapper使用

Mybatis插件和通用Mapper使用

猿梦 2022-11-25 15:33:15
桌子谢香柳哭肿……老娘苏问春踢坏了足球@1、mybatis执行过程分析2、mybatis插件3、通用Mapper使用1.1 getMapper的到MapperProxy实例:部分源码:DefaultSqlSession类:Configuration类:MapperRegistry类:MapperProxyFactory类:1.2 Executor执行的过程:部分源码:MapperProxy类:MapperMethod类:DefaultSqlSession类:BaseExecutor类:执行器的实现类:SimpleExecutor类:1.3 执行流程描述执行器:SimpleExecutor:默认的执行器BatchExecutor:批处理的执行器ReuseExecutor:预处理,重用的执行器MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis 允许使用插件来拦截的方法调用包括:1、创建拦截器类:调试效果:2、在全局配置文件中注册拦截器:源码分析:Plugin类:3、测试;2.2、pagehelper分页插件使用:官网:https://pagehelper.github.io/1、引入jar包:2、注册拦截器:参考官网用法3、使用:通用Mapper简介:通用Mapper都可以极大的方便开发人员。可以随意的按照自己的需要选择通用方法,还可以很方便的开发自己的通用方法。极其方便的使用MyBatis单表的增删改查。支持单表操作,不支持通用的多表联合查询。官方文档参考1、引入依赖:2、定义实体类型:泛型实体类的要求:示例:3、创建Dao接口:4、测试:部分接口说明:Select接口:SelectMapper<T>方法:List<T> select(T record);说明:根据实体中的属性值进行查询,查询条件使用等号接口:SelectByPrimaryKeyMapper<T>方法:T selectByPrimaryKey(Object key);说明:根据主键字段进行查询,方法参数必须包含完整的主键属性,查询条件使用等号Insert接口:InsertMapper<T>方法:int insert(T record);说明:保存一个实体,null的属性也会保存,不会使用数据库默认值接口:InsertSelectiveMapper<T>方法:int insertSelective(T record);说明:保存一个实体,null的属性不会保存,会使用数据库默认值Update接口:UpdateByPrimaryKeyMapper<T>方法:int updateByPrimaryKey(T record);说明:根据主键更新实体全部字段,null值会被更新接口:UpdateByPrimaryKeySelectiveMapper<T>方法:int updateByPrimaryKeySelective(T record);说明:根据主键更新属性不为null的值Example 方法接口:SelectByExampleMapper<T>方法:List<T> selectByExample(Object example);说明:根据Example条件进行查询重点:这个查询支持通过Example类指定查询列,通过selectProperties方法指定查询测试之前的准备:示例1:根据主键进行查询:没有设置@Id的结果:设置@Id后的结果1:示例2:录入测试:示例3:query by criteria查询命令如下:通用Mapper也可以使用MBG自动生成;1、Mybatis的执行流程分析2、Mybatis的插件机制3、通用Mapper使用

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册