MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
任何能使用
MyBatis
进行 CRUD, 并且支持标准 SQL 的数据库,具体支持情况如下,如果不在下列表查看分页部分教程 PR 您的支持。
MySQL,Oracle,DB2,H2,HSQL,SQLite,PostgreSQL,SQLServer,Phoenix,Gauss ,ClickHouse,Sybase,OceanBase,Firebird,Cubrid,Goldilocks,csiidb
达梦数据库,虚谷数据库,人大金仓数据库,南大通用(华库)数据库,南大通用数据库,神通数据库,瀚高数据库
步骤
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)
);
3、插入数据
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]');
4、创建初始化的项目
maven依赖
mysql
mysql-connector-java
org.projectlombok
lombok
com.baomidou
mybatis-plus-boot-starter
3.0.5
注意:使用mybatis-plus可以节省大量代码,尽量不要同时导入mybatis和mybatis-plus!!!有版本的差异
6、连接数据库
配置文件
# 连接数据库
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=UTC&useSSL=false&useUnicode=true
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
7、传统方式pojo-dao(连接mybatis,配置mapper.xml文件)-service-controller
8、 使用mybatis-plus之后
pojo:
package com.gg.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
mapper:
package com.gg.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gg.pojo.User;
import org.springframework.stereotype.Repository;
// 在对应的Mapper上继承基本的类 BaseMapper
@Repository // 代表是持久层的
public interface UserMapper extends BaseMapper {
// 所有的CRUD都已经编写完成了
// 不需要再配置一大堆的文件了
}
在启动器上添加@MapperScan(路径)
测试
// 继承了BaseMapper,所有的方法
@Autowired
private UserMapper userMapper;
@Test
void contextLoads() {
List userList = userMapper.selectList(null);
userList.forEach(System.out::println);
}
执行结果
由于所有的的sql现在是不可见的,需要知道怎么执行,所以需要看日志
# 日志配置
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl