地址:https://baomidou.com/pages/226c21/
使用第三方组件:
1.导入对应的依赖
2.研究依赖如何配置
3.代码如何编写
4.提高扩展技术能力
步骤
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));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');-- 真实开发中,version(乐观锁)、deleted(逻辑删除)、gmt_create、gmt_modified
3、编写项目,初始化项目 (使用SpringBoot初始化项目!)
4、导入依赖
<!--数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!--mybatis-plus-->
<!--mybatis-plus 是自己开发的,并非官方的-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
说明:使用mybatis-plus可以节省大量代码,尽量不要同时导入 mybatis 和 mybatis-plus 会有版本差异
5、连接数据库,与MyBatis相同
spring.datasource.username=root
spring.datasource.password=cedric1010
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# MySQL8需要增加时区的配置 serverTimezone=GMT%2B8
6.传统方式pojo-dao(连接mybatis,配置mapper.xml文件)- service-controller
6、使用MyBatis-Plus后
- POJO ```java import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;
@Data @AllArgsConstructor @NoArgsConstructor public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
- Mapper接口
```java
package com.cedric.mybatisplus.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.cedric.mybatisplus.pojo.User;
import org.springframework.stereotype.Repository;
// 在对应的Mapper上面继承基本的接口 BaseMapper
@Repository //代表持久层
public interface UserMapper extends BaseMapper<User> {
// 所有的CRUD操作都已经编写完成了
}
- 注意点,需要在主启动类上去扫描mapper包下的所有接口
@MapperScan("com.cedric.mybatisplus.mapper") - 测试类中测试 ```java package com.cedric.mybatisplus;
import com.cedric.mybatisplus.mapper.UserMapper; import com.cedric.mybatisplus.pojo.User; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
@SpringBootTest class MyBatisPlusApplicationTests {
// 继承了BaseMapper,所有的方法都来自父类,也可以编写自己的扩展方法
@Autowired
private UserMapper userMapper;
@Test
void contextLoads() {
// 参数是一个Wrapper,条件构造器,这里先不使用
// 查询全部用户
List<User> users = userMapper.selectList(null);
users.forEach(System.out::println);
}
}
```
- 结果

SQL和方法都是MyBatis-Plus写好的
