Appearance
1. MyBatisPlus 简介
MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
- MyBatisPlus 特性(部分)
- 强大的 CRUD 操作:内置通用 Mapper、通用 Service,有强大的条件构造
- 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件
- 内置代码生成器:采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码,支持模板引擎
- 内置分页插件:基于 MyBatis 物理分页,配置好插件,写分页
2. SpringBoot 整合 MyBatisPlus
- 需要手动在 pom.xml 配置中添加依赖
pom
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
- mapper(dao接口)继承 BaseMapper<>,添加注解 @Mapper 或者在引导类上添加@MapperScan("cn.my.dao") 注解,能够被容器扫描到
java
@Mapper
public interface UserMapper extends BaseMapper<User>{
}
- service 接口,继承 IService<>
java
public interface UserService extends IService<User> {
}
- service 实现类,继承 UserService,添加注解 @Service
java
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper,User> implements UserService{
}
- 添加 MyBatisPlus 配置信息
yml
spring:
datasource:
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/数据库名
username: root
password: root
mybatis-plus:
configuration:
#在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,按照驼峰命名法映射
map-underscore-to-camel-case: true
#打印日志
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#全局id生成策略
global-config:
db-config:
id-type: ASSIGN_ID
- 实体类
java
public class User implements Serializable {
private static final long serialVersionUID = 1L;
private Long id;
//姓名
private String name;
//性别 0 女 1 男
private String sex;
//setter,getter,toString方法略
}
- 测试类
java
@SpringBootTest
class MyBatisPlusDemo {
@Autowired
private UserDao userDao;
@Test
public void testGetAll() {
List<User> userList = userDao.selectList(null);
System.out.println(userList);
}
}