MyBatis-Plus快速入门
简介
MyBatis-Plus (简称 MP)是一个 [MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
快速入门
需要以下条件:
- 拥有 Java 开发环境以及相应 IDE
- 熟悉 Spring Boot
- 熟悉 Maven
步骤
1、创建数据库 mybatis_plus
2、创建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)
);
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');
3、初始化工程
可以使用 Spring Initializer快速初始化一个 Spring Boot 工程
4、导入依赖
<!-- mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
<!-- 数据库驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
5、配置
在 application.yml
配置文件中添加 数据库的相关配置
# mysql 5 使用驱动:com.mysql.jdbc.Driver
# mysql 8 使用驱动:com.mysql.cj.jdbc.Driver,还需添加时区设置:serverTimezone=GMT%2B8
spring:
datasource:
password: root
username: root
url: jdbc:mysql://localhost:3333/mybaits_plus?useSSL=true&useUnicode=true&characterEncodeing=utf-8&serverTimezone=GMT%2B8
driver-class-name: com.mysql.cj.jdbc.Driver
6、编写具体的代码
-
pojo
user.java
@Data @NoArgsConstructor @AllArgsConstructor public class User { private Long id; private String name; private Integer age; private String email; }
-
mapper接口
在对应的Mapper上面继承基本的类 BaseMapper
@Repository public interface UserMapper extends BaseMapper<User> { }
-
启动类 (@MapperScan)
我们需要在主启动类上去扫描我们的mapper包下的所有接口
@SpringBootApplication @MapperScan("com.lzy.mapper")//扫描mapper包,很重要 public class MybatisplusApplication { public static void main(String[] args) { SpringApplication.run(MybatisplusApplication.class, args); } }
-
测试
@SpringBootTest public class SampleTest { @Autowired private UserMapper userMapper; @Test public void testSelect() { System.out.println(("----- selectAll method test ------")); //UserMapper 中的 selectList() 方法的参数为 MP 内置的条件封装器 Wrapper,所以不填写就是无任何条件 //查询全部用户 List<User> userList = userMapper.selectList(null); userList.forEach(System.out::println); } }
继承了BaseMapper,所有的方法都来自父类
- 结果
配置日志
查看自动生成的SQL
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl