Mybatis-plus快速使用

2022-03-23 16:54:23 浏览数 (1)

什么是mybatis-plus?

MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

愿景

我们的愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。

官网此处

特点

快速入门使用

一、创建数据库

代码语言:javascript复制
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)
);

数据

代码语言:javascript复制
DELETE FROM user;

INSERT INTO user (id, name, age, email) VALUES
(1, 'Jone', 19, 'test1'),
(2, 'Jack', 21, 'test2'),
(3, 'Tom', 29, 'test3'),
(4, 'Sandy', 22, 'test4'),
(5, 'Cat', 23, 'test5');

二、创建一个springboot项目

用IDE工具

选择web跟lombok插件

三、导入mybatis-plus 需要的依赖

代码语言:javascript复制
    <!--数据库驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!--mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.0.5</version>
        </dependency>

使用mybatis-plus可以节省大量代码 不可以同时导入mybatis和mybatis-plus

四、连接数据库

配置文件

代码语言:javascript复制
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=1234
#mysql 8 以上用com.mysql.cj.jdbc.Driver  需要增加时区  serverTimezone=GMT+8
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

五、创建pojo类和dao接口

代码语言:javascript复制
@Data
//无参构造
@NoArgsConstructor
//有参构造
@AllArgsConstructor
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

dao接口

代码语言:javascript复制
public interface UserMapper extends BaseMapper<User> {

    //Mapper 继承该接口后,无需编写 mapper.xml 文件,即可获得CRUD功能
}

源码里的注释

我们编写测试类测试一下

我们可以看到为我们生成了很多方法

我们可以看到selectList的参数是一个Wrapper(条件构造器 根据传入的条件查询) 我们不需要条件 所以直接传入null即可

源码

测试类

代码语言:javascript复制
@SpringBootTest
class MybatisPlusApplicationTests {

    @Autowired
    private UserMapper userMapper;
    @Test
    void contextLoads() {
        List<User> list = userMapper.selectList(null);
        for (User user:list) {
            System.out.println(user);
        }
    }

}

0 人点赞