栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

【SpringBoot学习】28、Spring Boot 整合 TKMybatis 通用 Mapper

【SpringBoot学习】28、Spring Boot 整合 TKMybatis 通用 Mapper

文章目录
  • Spring Boot 整合 TKMybatis
    • 自定义父类接口
    • 新增接口
    • 新增之后回显Id
    • 更新
    • 删除
    • 单查询
    • 查询列表
    • 计数
    • 条件构造器
  • 微信公众号

Spring Boot 整合 TKMybatis

TKMybatis 也叫作 Mybatis Mapper,都是同一个东西,官方文档地址

Boot 整合定律
1、添加pom.xml 相关依赖
2、修改配置文件
3、添加注解,KO

相关依赖


    tk.mybatis
    mapper-spring-boot-starter
    2.1.0

配置文件添加配置

# mybatis
mybatis:
  type-aliases-package: cn.tellsea.skeleton.business.entity
  configuration:
    map-underscore-to-camel-case: true

整合TKMybatis,启动类添加注解扫描即可

@MapperScan("cn.tellsea.skeleton.business.mapper")

整合完整,简单吧

自定义父类接口

了解过 TKMybatis 的人都知道,他的使用方式是通过持久层继承接口,从而直接调用已经写好的方法,首先我们定义需要的基类公共接口,让实际业务的Mapper 层继承接口即可,下面是我整理的最常用接口:

public interface MyMapper extends Mapper, DeleteByIdsMapper, MySqlMapper, BatchMapper {

    // Mapper 基础接口
    // DeleteByIdsMapper 支持批量删除
    // MySqlMapper 支持批量新增
    // BatchMapper 支持批量更新

}

实际使用中,将我们的Mapper接口继承上面的自定义接口,即可使用所有基本功能

public interface UserInfoMapper extends MyMapper {

}

然后在调用时,注入 UserInfoMapper 即可直接使用。

新增接口

当继承了自定义 Mapper 接口时,已经可以使用方法了

void insert(T record);


void insertSelective(T record);


void insertList(List recordList);


void insertUseGeneratedKeys(T record);
新增之后回显Id

第一步,检查实体类的 Id 属性是否开启了注解

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;

@GeneratedValue注解的strategy属性提供四种值

属性值说明
AUTO主键由程序控制, 是默认选项 ,不设置就是这个
IDENTITY主键由数据库生成, 采用数据库自增长, Oracle不支持这种方式
SEQUENCE通过数据库的序列产生主键, MYSQL 不支持
Table提供特定的数据库产生主键, 该方式更有利于数据库的移植

第二步,直接新增之后调用实体类的 GetId 方法,即可拿到回显 Id,简单吧!!!

@Test
private void test() {
    UserInfo userInfo = new UserInfo();
    userInfoService.insertSelective(userInfo);
    System.out.println(userInfo.getId());
}
更新
void updateByPrimaryKey(T record);


void updateByPrimaryKeySelective(T record);


void updateByExample(T record, Object example);


void updateByExampleSelective(T record, Object example);


void updateBatchByPrimaryKeySelective(List recordList);
删除
void delete(T record);


void deleteByPrimaryKey(Object key);


void deleteByIds(String ids);


void deleteByExample(Object example);
单查询
T selectByPrimaryKey(Object key);


T selectOne(T record);


T selectOneByExample(Object example);
查询列表
List select(T record);


List selectAll();


List selectByExample(Object example);


List selectByRowBounds(T record, RowBounds rowBounds);


List selectByExampleAndRowBounds(Object example, RowBounds rowBounds);
计数
int selectCount(T record);


int selectCountByExample(Object example);
条件构造器
Example example = new Example(UserInfo.class);
Example.Criteria criteria = example.createCriteria();

绝大多数的 sql 语句都能构建,没毛病

微信公众号

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/613345.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号