第一步:创建数据库mybatis_plus
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)
);
DELETE FROM user;
INSERT INTO user (id, name, age, email) VALUES
(1, 'Jone', 18, '[email protected]'),
(2, 'Jack', 20, '[email protected]'),
(3, 'Tom', 28, '[email protected]'),
(4, 'Sandy', 21, '[email protected]'),
(5, 'Billie', 24, '[email protected]')
第二步:创建一个springboot的web项目(初始化工程)
第三步:导入相关依赖
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
dependency>
<dependency>
<groupId>org.projectlombokgroupId>
<artifactId>lombokartifactId>
dependency>
<dependency>
<groupId>com.baomidougroupId>
<artifactId>mybatis-plus-boot-starterartifactId>
<version>3.3.2version>
dependency>
第四步:连接数据库并编写数据库配置
spring:
datasource:
username: root
password: root
url: jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8&useSSL=false&useUnicode=true&charcterEncoding=UTF-8
driver-class-name: com.mysql.cj.jdbc.Driver
第五步:编写实体类pojo
@Data
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
第六步:编写Mapper类 UserMapper.java
@Repository //代表持久层
public interface UserMapper extends BaseMapper<User> {
}
第七步:在 Spring Boot 启动类中添加
@MapperScan
注解,扫描 Mapper 文件夹:
package com.xuan;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("com.xuan.mapper")
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
第八步:编写测试类进行测试
package com.xuan;
import com.xuan.mapper.UserMapper;
import com.xuan.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 DemoApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
void contextLoads() {
//参数wapper是一个条件构造器 这里先不指定
List<User> userList = userMapper.selectList(null);
//forEach参数是Consumer泛型
userList.forEach(System.out::println);
}
}
测试结果如下 复制关键结果
User(id=1, name=Jone, age=18, email=test1@baomidou.com)
User(id=2, name=Jack, age=20, email=test2@baomidou.com)
User(id=3, name=Tom, age=28, email=test3@baomidou.com)
User(id=4, name=Sandy, age=21, email=test4@baomidou.com)
User(id=5, name=Billie, age=24, email=test5@baomidou.com)
当然也可以考虑加上日志配置,这样就可以看到完整的sql语句以及执行流程
- 这是默认的日志实现
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TxNZDeM4-1595379993646)(C:\Users\l\AppData\Roaming\Typora\typora-user-images\image-20200721114036637.png)]
总结:mybatis-plus帮我们做了什么? 一个是帮我们编写了sql语句,因为我们从头到尾都没写sql语句。
另一个是myabtis-plus给我们提供了很多操作数据库的方法 ;我们甚至连配置文件都没有编写