学习mybatisplus后主要感觉它主要就分为了代码生成和使用两个部分
例子:
新建数据库并导入数据:注意最好满足开发规范,即在任意一张表中加入create_time和update_time
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 '邮箱',
create_time DATETIME '创建时间',
update_time DATETIME '更新时间',
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]');
pom文件导入依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1.tmp</version>
</dependency>
在springboot的aoolication。properties中
配置数据源 和mybatisplus
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
编写数据表对应的pojo类;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
@TableId(type = IdType.AUTO )
public Integer id;
public String name;
public int age;
public String email;
@TableField(fill = FieldFill.INSERT)
public Date createTime;
@TableField(fill = FieldFill.INSERT_UPDATE)
public Date updateTime;
}
编写与数据库交互的mapper
public interface userMapper extends BaseMapper {
}
最后在配置类或启动类上加上
扫描
@MapperScan("com.test.mybatisplus.mapper")
其余插件功能:
分页插件;
自动填充插件;
逻辑删除插件;
性能分析插件;
乐观锁插件;
条件构造器;
自行依照官方文档
原理自行看官方文档;使用时候可以使用使用人人开源的代码生成器