MyBatisPlus 学习笔记
一、快速入门
使用第三方组件:
- 导入对应依赖
- 研究依赖如何配置
- 代码如何编写
- 提高扩展技术能力
步骤
1、创建数据库 mybatis_plus
2、创建user表,导入数据
DROP TABLE IF EXISTS user;
CREATE TABLE user
(
id BIGINT(20) NOT NULL COMMENT '主键ID',
name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
age INT(11) NULL DEFAULT NULL COMMENT '年龄',
email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (id)
);
-- 真实开发中,version(乐观锁)、deleted(逻辑删除)、gmt_create、gmt_modified
DELETE FROM user;
INSERT INTO user (id, name, age, email) VALUES
(1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');
3、创建SpringBoot项目,勾选web依赖
4、导入依赖
<!--数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
</dependency>
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
说明:我们使用mybatis-plus可以节省我们大量的代码,尽量不要同时导入mybatis和mybatis-plus!
5、连接数据库,这一步和mybatis相同
# mysql
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?userSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
6、传统方式:pojo-mapper(连接mybatis,配置mapper.xml文件)- service - controller
7、使用了mybatis-plus 之后
-
pojo
@Data @AllArgsConstructor @NoArgsConstructor public class User { private Long id; private String name; private Integer age; private String email; }
-
mapper接口
// 在对应的Mapper上面继承基本的接口 BaseMapper @Repository // 代表持久层 public interface UserMapper extends BaseMapper<User> { // 所有的CRUD操作都已经基本完成了 // 你不需要像以前的配置一大堆文件了 }
-
注意点:我们需要在主启动类上去扫描我们的mapper包下的所有接口
-
测试类中测试
@SpringBootTest class MybatisPlusApplicationTests { // 继承了BaseMapper,所有的方法都来自父类 // 我们也可以编写自己的扩展方法 @Autowired UserMapper userMapper; @Test void contextLoads() { // 参数是一个 Wrapper , 条件构造器,这里我们先不用 null // 查询全部用户 List<User> users = userMapper.selectList(null)