学习MyBatis-Plus前提需要掌握:数据库相关操作、java等相关知识,最好熟悉Mybatis。
那么本章就来讲解快速搭建MyBatis-Plus开发环境以及对数据库实际操作。
步骤一:使用IDEA快速搭建SpringBoot项目,填写相关信息即可。
步骤二:引入所需要maven依赖,小编这里有使用lombok依赖,有不了解的小伙伴可以自行学习一下,很简单的。
org.projectlombok
lombok
true
com.baomidou
mybatis-plus-boot-starter
3.1.0
mysql
mysql-connector-java
步骤三:创建数据库表,以及对应的实体类
#创建用户表
CREATE TABLE user (
id BIGINT(20) PRIMARY KEY NOT NULL COMMENT '主键',
name VARCHAR(30) DEFAULT NULL COMMENT '姓名',
age INT(11) DEFAULT NULL COMMENT '年龄',
email VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
manager_id BIGINT(20) DEFAULT NULL COMMENT '直属上级id',
create_time DATETIME DEFAULT NULL COMMENT '创建时间',
CONSTRAINT manager_fk FOREIGN KEY (manager_id)
REFERENCES user (id)
) ENGINE=INNODB CHARSET=UTF8;
#初始化数据:
INSERT INTO user (id, name, age, email, manager_id
, create_time)
VALUES (1087982257332887553, '大boss', 40, '[email protected]', NULL
, '2019-01-11 14:20:20'),
(1088248166370832385, '王天风', 25, '[email protected]', 1087982257332887553
, '2019-02-05 11:12:22'),
(1088250446457389058, '李艺伟', 28, '[email protected]', 1088248166370832385
, '2019-02-14 08:31:16'),
(1094590409767661570, '张雨琪', 31, '[email protected]', 1088248166370832385
, '2019-01-14 09:15:15'),
(1094592041087729666, '刘红雨', 32, '[email protected]', 1088248166370832385
, '2019-01-14 09:48:16');
import lombok.Data;
import java.util.Date;
/**
* @Auther: IT贱男
* @Date: 2019/6/10 14:35
* @Description:这里没有Setter、Getter方法是因为小编使用了@Data注解
*/
@Data
public class User {
private Long id;
private String name;
private Integer age;
private String email;
private Long managerId;
private Date createTime;
}
以上准备工作弄好了之后,首先我们需要先连接一个数据库,采用的是yml格式的。
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
username: root
password: 123456
url: jdbc:mysql://127.0.0.1:3306/mdp?userSSL=false
接下来我们需要创建一个User对象的持久层接口,只需要继承BaseMapper并且把User对象传进去即可。
com.example.demo.mapper 这个是我mapper的包路径
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.demo.model.User;
/**
* @Auther: IT贱男
* @Date: 2019/6/10 14:40
* @Description: User对象持久层
*/
public interface UserMapper extends BaseMapper {
}
最后在启动类加上扫描mapper的注解,就可以了。
@SpringBootApplication
@MapperScan("com.example.demo.mapper.**")
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
写完就测试来一波,在我们springboot测试类中查询所有表中的数据。
@RunWith(SpringRunner.class)
@SpringBootTest
public class DemoApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
public void contextLoads() {
// 查询所有数据
List users = userMapper.selectList(null);
users.forEach(System.out::println);
// 数据库中的数据默认初始5条,则判断查询出来的集合数量是否等于5
Assert.assertEquals(5, users.size());
}
}