什么是MybatisPlus
为简化而生!
快速入门
1.创建一个springboot项目,记得修改默认的maven配置
2.导入依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- mybatis-plus依赖,使用了plus就尽量不要导入mybatis的依赖了,避免版本冲突-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.4</version>
</dependency>
3.连接数据库以及编写数据库配置文件
spring.datasource.username=root
spring.datasource.password=Gyh!1027
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?useSSL=true&useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
4.编写pojo以及mapper
public class User {
private int id;
private String name;
private int age;
private String email;
}
// 在对应的Mapper上继承BaseMapper<T>,所有的CRUD就自动编写完成了
@Mapper
// 显示的指定要扫描的接口,否则会爆 could not autowired
@Component(value = "UserMapper")
public interface UserMapper extends BaseMapper<User> {
}
5.测试查询所有的用户及结果
@Autowired
private UserMapper userMapper;
@Test
void contextLoads() {
List<User> userList = userMapper.selectList(null);
for (User user : userList) {
System.out.println(user);
}
}
配置日志
由于mybatis-plus所有的sql不可见,需要配置才能看见,方便调试
# 配置日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
主键生成策略
在测试插入方法时,出现了这种情况User{id=1450026548601081857, name='yuu', age=18, email='3562090042@qq.com'}
这里的id生成使用的是twitter的雪花算法,是一个Long类型的ID