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);
}
}