目录
介绍
使用
常用注解说明
小知识
最近写的项目中应用到了MybatisPlus,特此来学习记下笔记。
MyBatis-Plus (简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
Step1:
首先建立一个数据库,这里是根据MybatisPlus官方文档给的sql脚本建立的
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]');
Step2:
新建一个Springboot工程,然后引入相关的依赖
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-starter-jdbc
com.baomidou
mybatis-plus-boot-starter
3.3.2
com.alibaba
druid-spring-boot-starter
1.2.3
mysql
mysql-connector-java
runtime
Step3:
配置数据库的基本信息
spring:
datasource:
username: ****
password: ****
url: *****
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
Step4:
创建相应的pojo类和mapper接口,并加上@MapperScanner注解
@SpringBootApplication
@MapperScan("com.jp.mptest.mapper")
public class MpTestApplication {
public static void main(String[] args) {
SpringApplication.run(MpTestApplication.class, args);
}
}
Step5:
MP的一大特性就是
因为其内置了通用Mapper,所以我们就让我们创建的Mapper接口去继承BaseMapper<对应的pojo类>
此时,我们就已经实现了MP所提供的对于数据库的CRUD操作,来测试一下,获取所有的user信息:
控制台信息,可以看到所有的成员信息已经被查出
补充:
以上就是Mapper CRUD接口的使用步骤,当然BaseMapper这个类中提供的接口种类是非常多的,详情可以见MP官方文档——CRUD 接口 | MyBatis-Plus
1.@TableName 表名注解
因为MP会默认将pojo类名当成表名,如果类名和表名不一致的时候可以使用此注解
@TableName(value="表名")
2.@TableId 主键注解
@TableId(value = "id", type = IdType.AUTO):自增
3.@TableField 字段注解
用于类中的字段名和数据库中的字段名不一致的情况,或该字段有特殊用途
@TableField(exist = false):表示该属性不为数据库表字段,但又是必须使用的。
@TableField(exist = true):表示该属性为数据库表字段。
@TableField(condition = SqlCondition.LIKE):表示该属性可以模糊搜索。
@TableField(fill = FieldFill.INSERT):注解填充字段 ,生成器策略部分也可以配置!
4.@Version 乐观锁标记注解
MP可以在插入一条数据后,直接获取刚刚插入的数据的主键id