SpringBoot继承TkMapper通用Mapper
MyBatis通用Mapper提供了基本的CRUD的api , 省略了写大量基础代码甚至高级代码的时间 , 方便快捷 , 提升工作效率 . 可以参考通用Mapper文档
SpringBoot集成通用Mapper , 首先也是添加依赖
<dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.3.0</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.0</version></dependency><dependency><groupId>tk.mybatis</groupId><artifactId>mapper</artifactId><version>3.4.5</version></dependency>
然后编写MyBatisMapper配置
package com.xbz.web.common.config;import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;
import tk.mybatis.spring.mapper.MapperScannerConfigurer;import javax.annotation.Resource;
import javax.sql.DataSource;
import java.util.Properties;@Configuration
public class MybatisConfigurer {@Resourceprivate DataSource dataSource;@Beanpublic SqlSessionFactory sqlSessionFactoryBean() throws Exception {SqlSessionFactoryBean bean = new SqlSessionFactoryBean();bean.setDataSource(dataSource);bean.setTypeAliasesPackage("com.xbz.domain");//添加XML目录ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();bean.setMapperLocations(resolver.getResources("classpath:mapper/*.xml"));return bean.getObject();}@Configuration@AutoConfigureAfter(MybatisConfigurer.class)public static class MyBatisMapperScannerConfigurer {@Beanpublic MapperScannerConfigurer mapperScannerConfigurer() {MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactoryBean");mapperScannerConfigurer.setBasePackage("com.xbz.dao.*");//配置通用mappersProperties properties = new Properties();properties.setProperty("mappers", "com.xbz.common.MyMapper");properties.setProperty("notEmpty", "false");properties.setProperty("IDENTITY", "MYSQL");mapperScannerConfigurer.setProperties(properties);return mapperScannerConfigurer;}}
}
最后写上自己的通用mapper接口(也可以直接使用自带的Mapper<T>接口)
package com.xbz.common;import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;/*** @title 通用mapper* @description* @author Xingbz* @createDate 2017/12/20* @version 1.0*/
public interface MyMapper<T> extends Mapper<T> , MySqlMapper<T> {
}
然后写mapper时基本不用再提供方法
package com.baobeitou.dao.master;import com.xbz.common.MyMapper;
import com.xbz.domain.LogDO;
import org.apache.ibatis.annotations.Mapper;/*** 系统日志*/
@Mapper
public interface LogDao extends MyMapper<LogDO> {}
另外我在项目实际使用中遇到一种情况 , 由于我们项目需要做多数据源读写分离 , 就像把tkmapper中的读取和操作的接口提取成两个通用mapper , 发现tkmapper配置时只能配置一个 , 想知道各位有没有什么好的解决办法?
SpringBoot继承TkMapper通用Mapper相关推荐
- SpringBoot项目使用通用Mapper
SpringBoot项目使用通用Mapper 前言 后端业务开发,每个表都要用到单表的增删改查等通用方法,而配置了通用Mapper可以极大的方便使用Mybatis单表的增删改查操作. 通用mapper ...
- Springboot集成mybatis通用Mapper与分页插件PageHelper
Springboot集成mybatis通用Mapper与分页插件PageHelper 插件介绍 通用 Mapper 是一个可以实现任意 MyBatis 通用方法的框架,项目提供了常规的增删改查操作以及 ...
- SpringBoot整合TkMybatis(通用mapper)
TkMybatis目录 SpringBoot整合TkMybatis(通用mapper) SpringBoot整合TkMybatis(通用mapper)(自定义xml文件) 源码 GitHub: htt ...
- Springboot快速整合通用Mapper
前言 后端业务开发,每个表都要用到单表的增删改查等通用方法,而配置了通用Mapper可以极大的方便使用Mybatis单表的增删改查操作. 通用mapper配置 1.添加maven: <depen ...
- 一看就会一学就废之SpringBoot整合通用Mapper以及常用方法
本文适合初次学习通用Mapper新鸟阅览,老生常谈,从三个大方向入手----是什么?能干什么?怎么用? 目录 一.通用Mapper是什么? 二.通用Mapper能干什么? 三.怎么使用通用Mapper ...
- MyBatis之通用mapper
文章目录 对比 依赖 yml配置 扫描 BaseMapper的方法 增 insert插入数据 insertSelective插入非空数据 删 deleteByexample根据条件删除多条 delet ...
- 最简单的通用Mapper的使用手册
目录 通用Mapper的定义 SpringBoot如何整合通用mapper 第一步:引入依赖 第二步:配置逆向工程 第三步:定义逆向工程的启动类 第四步 测试逆向工程 怎么用? 如何调用方法? 方法哪 ...
- SpringBoot整合Mybatis,使用通用mapper和PageHelper进行分页
乐哉码农 上节介绍了如何整合Security,这节就说下如何再Springboot下使用持久层框架mybatis和牛人封装的通用mapper与mybatis的整合,直接进入正题吧! 1.首先引入我们需 ...
- 通用mapper版+SpringBoot+MyBatis框架+mysql数据库的整合
转:https://blog.csdn.net/qq_35153200/article/details/79538440 开发环境: 开发工具:Intellij IDEA 2017.2.3 JDK : ...
最新文章
- springboot使用定时器及发送邮件
- Linux CentOS 5.5 服务器安装图文教程
- Leetcode 950. Reveal Cards In Increasing Order
- 作者:胡青青(1984-),女,现就职于中国人民银行征信中心数据部,主要研究方向为数据挖掘。...
- 通过异常处理错误-2
- 博文视点算法书单|让算法学习不再难
- 每周荐书:京东架构、Linux内核、Python全栈
- java完全自学手册pdf,高级Java开发必看
- MATLAB函数合辑
- ionic(mui、elementUI)自定义字体图标
- 超详细的【区块链】技术介绍整理(七千余字+九大板块)
- 关于C++ 虚函数 子类和父类 一点小的总结
- Alfresco 部署 企业文档管理系统
- matlab中 rgb2gray() 函数 具体实现
- backtrader回测框架实例
- 轻聊 - 聊天室的设计思路
- 使用Spring获取JavaBean的属性值匹配短信模板
- 3 个月前被裁员了,心情跌落谷底,直到我看到了这本神书…
- 人才职场价值评估模板V1.0
- mysql 聚合函数内比较运算符_MySQL 聚合函数、运算符操作、约束
热门文章
- javascript:history.go(-1)和javascript:history.back(-1)
- 11个Javascript树形菜单
- [Vue.js] 基础 -- Vue简介
- js实现select跳转
- 你不知道你不懂javascript
- Cartographer—ROS中的安装
- 7-56 互评成绩 (25 分) (排序题)
- 6-3 十进制转二进制(顺序栈设计和应用) (8 分)
- 7-3 素数对猜想 (40 分)
- php 上传 blob,Laravel框架+Blob实现的多图上传功能示例