mybatisPlus-快速开始
官方参考地址:https://baomidou.com/pages/226c21/
1 创建数据库
新建一个数据库 mybatis_plus ,并在该数据库中运行如下sql来创建一张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)
);
user表创建成功后,运行如下sql,添加数据
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');
user表创建成功
2 项目初始化
新建一个springboot项目mybatis_plus,创建过程中导入web模块
3 导入依赖
在pom.xml中除了自动引入的web依赖以外再添加如下依赖,注意:不要同时导入mybatis_plus依赖和mybatis依赖
pom.xml
<!--数据库驱动-->
<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>
4 编写配置文件
src/main/resources/application.properties
# mysql 5
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?useSSL=false&useUnicode=true&characterEncoding=utf-8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#mysql 8 驱动不同com.mysql.cj.jdbc.Driver,需要增加时区的配置 serverTimezone=GMT%2B8
5 编写实体类
创建pojo包并在该包下新建User实体类
src/main/java/com/lv/mybatis_plus/pojo/User.java
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
6 编写实体对应的mapper接口
创建mapper包并在该包下新建User实体类对应的mapper接口
src/main/java/com/lv/mybatis_plus/mapper/UserMapper.java
package com.lv.mybatis_plus.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lv.mybatis_plus.pojo.User;
import org.springframework.stereotype.Repository;
//在对应的Mapper上面 继承基本的类BaseMapper
@Repository //代表持久层
public interface UserMapper extends BaseMapper<User> {
//所有的CRUD操作都已经编写完成了
//你不需要像以前一样配置一大堆文件了
}
7 在主启动类上添加注解扫描
src/main/java/com/lv/mybatis_plus/MybatisPlusApplication.java
package com.lv.mybatis_plus;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@MapperScan("com.lv.mybatis_plus.mapper") //扫描mapper文件夹
@SpringBootApplication
public class MybatisPlusApplication {
public static void main(String[] args) {
SpringApplication.run(MybatisPlusApplication.class, args);
}
}
8 编写测试类,进行测试
src/test/java/com/lv/mybatis_plus/MybatisPlusApplicationTests.java
package com.lv.mybatis_plus;
import com.lv.mybatis_plus.mapper.UserMapper;
import com.lv.mybatis_plus.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,条件构造器,这里我们先不用,写为null
//查询全部用户
List<User> users = userMapper.selectList(null);
//输出users里面的每个内容
users.forEach(System.out::println);
}
}
9 查看控制台输出
数据查询成功
10 思考
sql谁帮我们写的? mybatis-plus
方法哪里来的? mybatis-plus