Tkmybatis(即通用Mapper)(一)spring boot下的集成

本文介绍Tkmybatis通用Mapper插件,旨在简化Mybatis开发流程,提供便捷的ORM操作及单表CRUD方法,解决原生Mybatis及MBG工具的痛点,包括大量SQL维护、数据库移植困难等问题。并详细指导SpringBoot环境下通用Mapper的配置步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、什么是通用mapper,即Tkmybatis

      通用mapper不是为了代替mybatis,它和mybatis-plus一样,而是让mybatis开发更方便,它是国人开发的一个第三方插件。

在我们开发过程,更容易进行ORM的操作,提供了单表的CRUD常用的方法。

二、为什么要用它?

    主要我们用原生的Mybatis,或者用了mybatis generator(MBG)这个工具自动生成相关脚本(pojo,Mapper.java,Mapper.xml,Example java),也有以下痛点:

    1.mapper.xml文件中有大量的sql脚本,当后期数据库字段变动,我们就要去维护这个配置文件,这个工作量太大了。

    2.数据库可移值性差,mapper.xml中的sql不同的数据库是不一样的,所以基本上要重写。

    3.生成的代码量过大。

    4.批量的插入、批量更新等需我们自己定义。

 

三、spring boot如何配置通用Mapper:

1.pom.xml中的内容(原来的mybatis相关配置可以去掉,这个配置自动注入相关mybatis的依赖包):

<dependency>
  <groupId>tk.mybatis</groupId>
  <artifactId>mapper-spring-boot-starter</artifactId>
  <version>版本号</version>
</dependency>

最新版本号如上所示,你也可以从下面地址查看:

http://mvnrepository.com/artifact/tk.mybatis/mapper-spring-boot-starter

2.spring boot 启动类:

@tk.mybatis.spring.annotation.MapperScan(basePackages = "扫描包")
@SpringBootApplication
public class SampleMapperApplication{

}

注意:这里使用的 tk.mybatis.spring.annotation.MapperScan !

3.application.yml中的内容:

mybatis:
  #mapper-locations: classpath:mapper/*.xml
  mapper-locations: classpath*:com/zjm/gwork/**/mapper/*mapper.xml
  #type-aliases-package: com.zjm.gwork.model
  type-aliases-package: com.zjm.gwork.**.model
  #通用mapper
  mappers: com.zjm.common.util.BaseMapper
  not-empty: false
  identity: MYSQL

4.自定义本地通用Mapper基础接口,继承通用Mapper接口,此接口要配置到application.yml的mybatis部分中(如上图),同时注意以下的注释详细说明:

package com.zjm.common.util;

import org.springframework.stereotype.Component;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;

/**
 * @ClassName: BaseMapper
 * @Description: 通用Mapper基础接口
 * 1.此接口不能让spring boot的ScanMapper扫描到,否则会报错,所以没有放到gwork包下面(即没有和普通业务接口放在一起)
 * 2.BaseMapper还需要配置到application.yml中
 * @Author: zhongzk 28582157@qq.com
 * @Date: 2019/6/7 14:22 *
 * @Copyright: 2018 字节码团队www.bjsurong.com. All rights reserved.  *
 */

@Component
public interface BaseMapper<T> extends Mapper<T>, MySqlMapper<T> {
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值