本文共 4435 字,大约阅读时间需要 14 分钟。
官网:
参考教程:
1、什么是mybatis-plus?
MyBatis-Plus(简称MP),它是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。
1)、只做增强,不做改变
引入它不会对现有的工程产生影响
2)、效率至上
只需简单的配置,即可快速进行CRUD操作,从而节省了大量的时间。
3)、丰富功能
热加载、代码生成、分页、性能分析等功能一应俱全。
2、入门示例
第1步、数据库准备工作
1)、创建数据库 mybatis_plus
2)、创建user表,其对应的数据库Schema脚本如下:
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)、向user表插入数据的脚本,如下:
insert into user(id,name,age,email) values (1,'zhangSan',21,'zhangSan@qq.com'), (2,'lisi',18,'liSi@qq.com'), (3,'Tom',22,'tom@163.com'), (4,'Lucy',23,'lucy@163.com');
第2步、idea配置准备
2)、设置java编译器
3)、设置项目和文件的编码
3)、配置maven
第3步、创建项目
1)、初始化工程
2)、在pom.xml中引入依赖
引入mybatis-plus之后,就无需再引用mybatis,避免因版本差异出现问题
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.junit.vintage junit-vintage-engine com.baomidou mybatis-plus-boot-starter 3.3.1 mysql mysql-connector-java runtime org.projectlombok lombok true
第4步、在idea中安装lombok插件(lombok主要用来简化实体类)
第5步、编写代码
1)、配置
在application.properties配置文件中添加mysql数据库配置
springboot2.0(内置jdbc5驱动)
#mysql数据库连接spring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?characterEncoding=utf-8&useSSL=falsespring.datasource.username=rootspring.datasource.password=root
springBoot2.1及以上(内置jdbc8驱动)
#mysql数据库连接spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8spring.datasource.username=rootspring.datasource.password=root
这里的url使用了?serverTimezone=GMT%2B8后缀,因为8.0版本的jdbc驱动需要添加这个后缀,否则运行测试用例报告如下错误:
java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more
这里的driver-class-name使用了com.mysql.cj.jdbc.Driver,在jdbc8中建议使用这个驱动,否则运行测试用例的时候会有WARN信息
2)、主类
在springBoot启动类中添加@MapperScan注解,扫描Mapper文件夹,如下:
package com.example.mybatis_plus1;import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication@MapperScan("com.example.mapper")public class MybatisPlus1Application { public static void main(String[] args) { SpringApplication.run(MybatisPlus1Application.class, args); }}
3)、实体类
创建entity包,然后在该包下新建实体类User.java,(此处使用Lombok简化代码)
package com.example.entity;import lombok.Data;@Datapublic class User { private Long id; //用户id private String name; //用户名 private Integer age; //年龄 private String email; //邮箱}
查看编译结果,如下:
4)、创建mapper包,然后在该包下新建Mapper接口:UserMapper.java
package com.example.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;import com.example.entity.User;import org.springframework.stereotype.Repository;@Repositorypublic interface UserMapper extends BaseMapper{}
5)、测试,添加测试类,进行功能测试,如下:
package com.example.mybatis_plus1;import com.example.entity.User;import com.example.mapper.UserMapper;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import javax.annotation.Resource;import java.util.List;@SpringBootTestclass MybatisPlus1ApplicationTests { @Resource private UserMapper userMapper; @Test public void testSelectUser(){ /** * UserMapper中的selectList()方法的参数为MP内置的条件封装器Wrapper * 所以这里不填写就是无任何条件 */ ListuserList=userMapper.selectList(null); userList.forEach(System.out::println); }}
运行结果,如下:
在application.properties中配置mybatis日志,如下:
#mysql数据库连接spring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?characterEncoding=utf-8&useSSL=falsespring.datasource.username=rootspring.datasource.password=root#mybatis日志mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
转载地址:http://wmuii.baihongyu.com/