如何整合 springboot + mybatis-plus(系列一)

本文介绍了如何简单快捷地在SpringBoot项目中整合Mybatis-Plus,包括使用阿里云模板创建项目,添加必要依赖,配置数据库连接,创建表,定义Model和Mapper接口,以及编写测试类进行验证。通过这种方式,可以快速搭建起SpringBoot+Mybatis-Plus的基础框架。
摘要由CSDN通过智能技术生成

如何整合 springboot + mybatis-plus(系列一)

背景

整合 springboot + mybatis-plus,其实就是整合 springboot + mybatis + mybatis-plus,本来 mybatis-plus 就能自动包含 mybatis

步骤

非常简单,

  1. 用 IDEA 新建项目,选择 Spring Initializr 的项目, Custom 填入 https://start.aliyun.com/,利用阿里的开发的模板进行创建

  2. 勾选 lombok, Spring Web, MyBatis Plus Framework 进行创建即可

    注意,勾选 MyBatis Plus Framework 即可,不需要和 MyBatis Framework 两个同时勾选

  3. 添加 jdbc 的依赖,比如 mysql的

    毕竟 IDEA 向导建Project的过程不知道你用什么类型的库,所以这个需要自己自行加入

  4. 配置连接

    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    spring.datasource.username=xxx
    spring.datasource.password=xxx
    spring.datasource.url=jdbc:mysql://localhost:3306/mp
    
    # 打印 mybatis 日志( logging.level. 后的包名,改成自己的 XxxMapper.java 所在的包)
    logging.level.com.wyf.test.mybatisplusdemo.mapper=debug
    mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
    
  5. 建表

    CREATE TABLE `mp_user` (
      `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
      `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '姓名',
      `age` smallint(6) NOT NULL COMMENT '年龄',
      `gender` tinyint(255) NOT NULL COMMENT '性别',
      `create_time` datetime NOT NULL COMMENT '创建时间',
      `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
    
  6. 写 model 类

    @Data
    public class MpUser {
        private Integer id;
        private Short age;
        private Byte gender;
        private Date createTime;
        private Date updateTime;
    }
    
  7. 写 Mapper 接口,注意继承 BaseMapper 并填入泛型,泛型对应的 model 类

    @Mapper
    @Repository
    public interface MpUserMapper extends BaseMapper<MpUser> {
    }
    

    注意,写上 @Mapper 注解就不需要写扫描包路径的配置,我一直绝对的写个字串的包路径一点都不优雅. 另外写 @Repository 的目的是让 IDEA 不要提示找不到Bean注入(实际存在),只写 @Repository 留 @Mapper 是不行的

  8. 写 Junit 测试类, 新建的Project有个现成的 XxxxTests,直接拿来改一下即可

    @SpringBootTest
    class MybatisPlusDemoApplicationTests {
        @Autowired
        private MpUserMapper mpUserMapper;
    
        @Test
        void test() {
            List<MpUser> mpUsers = mpUserMapper.selectList(null);
            for (MpUser mpUser : mpUsers) {
                System.out.println(mpUser);
            }
        }
    }
    

至此,整合完毕

补充

1、实验结果,如果表名和实体类的名字不同,比如 MpUser 的表名叫做 t_user,则必须在 MpUser 类上加 @TableName(“t_user”)

2、可以看见,引入 mybatis-plus-boot-starter 即可,不需要将 mybatis 的 starter 的依赖引入。pom参考:

<dependency>
  <groupId>com.baomidou</groupId>
  <artifactId>mybatis-plus-boot-starter</artifactId>
  <version>3.4.2</version>
</dependency>
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>8.0.26</version>
</dependency>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值