MyBatisPlus

MyBatisPlus

MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window) 的增强工具

在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生

MyBatis-Plus 🚀 为简化开发而生 (baomidou.com)

  • 无侵入
  • 损耗小
  • 强大的 CRUD 操作
  • 支持 Lambda 形式调用
  • 支持主键自动生成
  • 支持 ActiveRecord 模式
  • 支持自定义全局通用操作
  • 内置代码生成器
  • 内置分页插件
  • 分页插件支持多种数据库
  • 内置性能分析插件
  • 内置全局拦截插件

支持的数据库:

  • MySQL,Oracle,DB2,H2,HSQL,SQLite,PostgreSQL,SQLServer,Phoenix,Gauss ,ClickHouse,Sybase,OceanBase,Firebird,Cubrid,Goldilocks,csiidb,informix,TDengine,redshift
  • 达梦数据库,虚谷数据库,人大金仓数据库,南大通用(华库)数据库,南大通用数据库,神通数据库,瀚高数据库,优炫数据库

依赖导入

同样的,Spring没有提供MyBatisPlus的启动器,由MyBatisPlus提供启动器(整合依赖包)

mybatis-plus-boot-starter

mybatis-plus-spring-boot3-starter # springBoot3请使用这个依赖


Application配置文件

MyBatisPlus的配置文件和MyBatis大同小异(本是同根生)

但很多我们在MyBatis需要手动开启的配置,MyBatisPlus都已经帮我们默认开启了(比如驼峰命名规则)

我们可以在配置文件中,打印一下他帮我们生成的crud

配置一下type-aliases-package,让MyBatisPlus帮我们给实体类起一个别名

mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 以控制台输出Sql语句
  type-aliases-package: com.xiaobai.pojo

Test测试类

注:我在测试的时候一直提示我mapper接口文件没有被注入到IoC容器中,使用@RunWith(SpringRunner.class)注释测试类后成功运行

询问大佬后了解,测试类的包结构应该与启动类相同,否则会在依赖注入问题

导入依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
</dependency>

创建测试类,使用@RunWith(SpringRunner.class)和@SpringBootTest注解

将对象注入,直接使用测试方法测试即可

@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringBootMyBatisPlusTest {
    @Autowired
    private UserMapper userMapper;

    @Test
    public void test() {
        List<User> users = userMapper.selectList(null);
        System.out.println(users);
    }
}