MybatisPlus入门
(跟着狂神老师学习的MybatisPlus)
MybatisPlus是什么?它与Mybatis有什么联系?
MybatisPlus就是Mybatis的加强版,也可以说他们是互相配合使用的。MybatisPlus简化了Crud,而且还可以自动生成代码,不需要我们重新去写mapper.xml文件,我们只需要重写一下Wrapper就可以了。
MybatisPlus的配置环境
(还需要配置datasource的)
1.配置好环境配置
2.导入jar
3.创建mapper继承BaseMapper
4.创建pojo
5.加入注解MapperScan在主类上面
6.配置好datasource文件
7.测试启动
代码(配置文件)
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatisplus?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
代码(UserMapper)
@Repository
public interface UserMapper extends BaseMapper<User> {
}
代码(依赖)
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
<!-- lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.16</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
代码(test)
@Test
void contextLoads() {
List<User> users = userMapper.selectList(null);
users.forEach(System.out::println);
}
MybatisPlus的重要特性
- 各种插件(分页插件、乐观锁插件、自动填充)
首先需要说说的是如何导入插件,其实很简单只需要创建一个Config类,然后注入Bean就可以了,接下来就是自己设置一下就好了。
简单讲讲乐观锁,乐观锁其实就是在修改数据之前都不会上锁,直到修改的时候。这样会出现的弊端就是,如果这个时候有别的线程插队,它就会没办法再修改了。而在数据库里面的具体实现就是version,每次修改都会看看version是不是OldVersion如果是就能修改,并且version++,如果不是就没办法修改,如果有人插队了version修改了,那么这些语句就不会生效。
代码(插件实现)