MyBatis-Plus入门
MyBatis-Plus是一个增强MyBatis的工具,制作增强而不做改变。
1.创建数据库
创建数据库mybatis_plus.(使用SQLyog管理工具)
接着创建对应的数据表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');
2.创建一个springboot工程
这里使用的工具是idea2020.1
点击file—>New–>project,选择Spring Initializr。
创建完成后,在pom.xml中添加相关依赖。具体内容如下(初次添加可能会下载,速度较慢),可以直接将下面的代码复制到pom.xml对应的位置。
包括springboot、
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--lombok用来简化实体类-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
上面引入了lombok依赖,同时需要在idea中下载安装lombok插件。()
点击File–>Settings。之后操作如下:
3.添加数据库配置
在 application.properties(位于src–>main–>resources下) 配置文件中添加 MySQL 数据库的相关配置:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=123456
4.编写代码
1.主类
在Spring Boot启动类中添加@MapperScan
注解,扫描Mapper文件夹。
package com.xinchan.mybatisplus_demo;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("com.xinchan.mybatisplus_demo.mapper")
public class MybatisplusDemoApplication {
public static void main(String[] args) {
SpringApplication.run(MybatisplusDemoApplication.class, args);
}
}
2.实体
创建包 entity 编写实体类 User.java(此处使用了 Lombok 简化代码)。Lombok可以自动生成所有成员变量的setter和getter方法,而不需要手动书写。
package com.xinchan.mybatisplus_demo.entity;
import lombok.Data;
@Data
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
3.mapper(类似于dao层)
创建包 mapper 编写Mapper 接口: UserMapper.java
package com.xinchan.mybatisplus_demo.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xinchan.mybatisplus_demo.entity.User;
import org.springframework.stereotype.Repository;
@Repository
public interface UserMapper extends BaseMapper<User> {
}
5.编写测试类
package com.xinchan.mybatisplus_demo;
import com.xinchan.mybatisplus_demo.entity.User;
import com.xinchan.mybatisplus_demo.mapper.UserMapper;
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 MybatisplusDemoApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
public void contextLoads() {
List<User> users = userMapper.selectList(null);
users.forEach(System.out::println);
}
}
最终的结果如下图所示: