写点什么

SpringBoot 整合 MyBatis-Plus

作者:
  • 2022 年 8 月 23 日
    河南
  • 本文字数:2231 字

    阅读完需:约 7 分钟

SpringBoot 整合 MyBatis-Plus

前言

  整合 MyBaitsPlus(简称 MP),是在 MyBatis 的基础上再升级一下,国人开发的技术,符合中国人开发习惯,谁用谁知道,这里 有我整理的 SpringBoot 整合 MyBatis 的详细步骤 。


SpringBoot 整合是十分便捷的,整合究竟核心如下:

  • 导入对应技术的 starter 坐标

  • 根据对应技术的要求做配置



1、导入对应的 starter

<dependency>    <groupId>com.baomidou</groupId>    <artifactId>mybatis-plus-boot-starter</artifactId>    <version>3.4.3</version></dependency>
复制代码

2、starter 写法


3、配置数据源相关信息

#2.配置相关信息spring:  datasource:    driver-class-name: com.mysql.cj.jdbc.Driver    url: jdbc:mysql://localhost:3306/mp    username: root    password: root      mybatis-plus:  configuration:    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl     # 日志实现类  -->打印sql
复制代码

4、映射接口(Mapper)

public interface UserMapper extends BaseMapper<User> {
}
复制代码


  核心在于 Dao 接口继承了一个 BaseMapper 的接口,这个接口中帮助开发者预定了若干个常用的 API 接口,简化了通用 API 接口的开发工作。



5、测试类

条件查询等等 ,QueryWrapper 条件器等等,封装到 map 中等等。

@Test    void select() {        //1、查询所有,不加条件去查询        userMapper.selectList(null).forEach(System.out::println);       //forEach遍历打印
//2、查询所有,加条件去查询 //2.1、new QueryWrapper QueryWrapper queryWrapper1 = new QueryWrapper(); //2.2、设置条件 queryWrapper1.eq("age", 20); /** * lt #小于 * gt #大于 * ne #不等于 * eq #等于 * le #小于等于 * ge #大于等于 * between #between * like like 模糊查询 #likeLeft 左模糊 likeRight 右模糊 * isNull * isNotNull * in #inSql in sql语句 * notIn * orderBy #排序 ASC DESC 升序降序 * orderByDesc */ userMapper.selectList(queryWrapper1).forEach(System.out::println);
//3、多条件去查询 QueryWrapper queryWrapper2 = new QueryWrapper(); //3.1、设置多条件 Map<String,Object> map = new HashMap<>(); map.put("age",20); map.put("name","张三"); //3.2、map放进queryWrapper queryWrapper2.allEq(map);
//byId User user = userMapper.selectById(1); System.out.println(user);
//byBatchIds userMapper.selectBatchIds(Arrays.asList(1,2,3)).forEach(System.out::println); //Arrays.asList(1,2,3)是一个数组,把数组转换成list集合
//通过map条件查询 //map只能是一个条件,不能是多个条件 Map<String,Object> map1 = new HashMap<>(); map1.put("age",20); map1.put("name","张三"); userMapper.selectByMap(map).forEach(System.out::println);
//4、分组查询 QueryWrapper queryWrapper3 = new QueryWrapper(); queryWrapper3.gt("age",20); System.out.println(userMapper.selectCount(queryWrapper3));
//将查询结果放入map中 userMapper.selectMaps(queryWrapper1).forEach(System.out::println);
//分页查询 //1、配置类paginationInterceptor //2、设置分页参数 Page<User> page = new Page<>(1,3); //当前页,每页显示条数2 Page<User> userPage = userMapper.selectPage(page, null);//分页参数,查询条件
System.out.println(userPage.getCurrent()); //当前页 System.out.println(userPage.getSize()); //每页显示条数
userPage.getRecords().forEach(System.out::println); //查询结果

//封装到map中 Page<Map<String,Object>> mapPage = new Page<>(1,3); //分页参数,查询条件 userMapper.selectMapsPage(mapPage, null).getRecords().forEach(System.out::println); //查询结果
//查询所有,只输出id userMapper.selectObjs(null).forEach(System.out::println); //查询结果
//查询一个 System.out.println(userMapper.selectOne(null)); //查询结果
}
复制代码

6、表的通用前缀配置

例如:

你的数据库表名都是 tb_ 开头则可以在这里配置

mybatis-plus:  global-config:    db-config:      table-prefix: tb_    #设置所有表的通用前缀名称为tbl_
复制代码



7、MybatisX 快速开发插件

MybatisX 是一款基于 IDEA 的快速开发插件,为效率而生。


  • 安装方法:打开 IDEA,进入 File -> Settings -> Plugins -> Browse Repositories,输入 mybatisx 搜索并安装。


  • 功能:

  • Java 与 XML 调回跳转

  • Mapper 方法自动生成 XML

总结

  1. 手工添加 MyBatis-Plus 对应的 starter

  2. 数据层接口使用 BaseMapper 简化开发

  3. 需要使用的第三方技术无法通过勾选确定时,需要手工添加坐标

发布于: 刚刚阅读数: 5
用户头像

关注

在校大三学生一枚 2022.08.02 加入

喜欢学习编程,擅长技术栈JAVA

评论

发布
暂无评论
SpringBoot 整合 MyBatis-Plus_SpringBoot 2_斯_InfoQ写作社区