MyBatis-Plus入门
文章目录
- 前言
- 一、简介
- 二、创建并初始化数据库
- 1.创建数据库
- 2、创建 User 表
- 三、确认idea配置
- 1、打开配置
- 2.Java编译器
- 3.项目和文件的编码
- 4.Maven配置
- 四、创建项目
- 1.使用 Spring Initializr 快速初始化一个 Spring Boot工程
- 2、引入依赖
- 3.idea中安装lombok插件
- 五、编写代码
- 1、配置
- 2、主类
- 3.实体
- 4、mapper
- 5、测试
- 6、查看sql输出日志
- 总结:
前言
官网:http://mp.baomidou.com
参考教程:http://mp.baomidou.com/guide/#
一、简介
✔ MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
- 润物无声
只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑。
- 效率至上
只需简单配置,即可快速进行 CRUD 操作,从而节省大量时间。
- 丰富功能
热加载、代码生成、分页、性能分析等功能一应俱全
二、创建并初始化数据库
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)
);
其对应的数据库 Data 脚本如下:
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');
三、确认idea配置
1、打开配置
2.Java编译器
3.项目和文件的编码
4.Maven配置
四、创建项目
1.使用 Spring Initializr 快速初始化一个 Spring Boot工程
2、引入依赖
注意:引入 MyBatis-Plus 之后请不要再次引入 MyBatis,以避免因版本差异导致的问题。
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency><!--mybatis-plus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.3.1</version></dependency><!--mysql运行时依赖--><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>
</dependencies>
3.idea中安装lombok插件
五、编写代码
1、配置
在resources下创建application.properties
在 application.properties 配置文件中添加 MySQL 数据库的相关配置:spring boot 2.0(内置jdbc5驱动)
#mysql数据库连接
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?characterEncoding=utf-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring boot 2.1及以上(内置jdbc8驱动)
注意:driver和url的变化
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=123456
1、这里的 url 使用了 ?serverTimezone=GMT%2B8 后缀,因为8.0版本的jdbc驱动需要添加这个后缀,否则运行测试用例报告如下错误:
java.sql.SQLException: The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrecognized or represents more
2、这里的 driver-class-name 使用了 com.mysql.cj.jdbc.Driver ,在 jdbc 8 中 建议使用这个驱动,否则运行测试用例的时候会有 WARN 信息
2、主类
在 Spring Boot 启动类中添加 @MapperScan 注解,扫描 Mapper 文件夹
@SpringBootApplication
@MapperScan("com.atguigu.mybatis_plus.mapper")
public class MybatisPlusApplication {......
}
3.实体
创建包 entity 编写实体类 User.java(此处使用了 Lombok 简化代码)
@Data
public class User {private Long id;private String name;private Integer age;private String email;
}
4、mapper
创建包 mapper 编写Mapper 接口: UserMapper.java
public interface UserMapper extends BaseMapper<User> {}
5、测试
添加测试类,进行功能测试:
package com.atguigu.mybatis_plus;@SpringBootTest
class MybatisPlusApplicationTests {@Autowiredprivate UserMapper userMapper;@Testvoid testSelectList() {//UserMapper 中的 selectList() 方法的参数为 MP 内置的条件封装器 Wrapper//所以不填写就是无任何条件List<User> users = userMapper.selectList(null);users.forEach(System.out::println);}}
注意:
IDEA在 userMapper 处报错,因为找不到注入的对象,因为类是动态创建的,但是程序可以正确的执行。
为了避免报错,可以在 dao 层 的接口上添加 @Repository 注解
通过以上几个简单的步骤,我们就实现了 User 表的 CRUD 功能,甚至连 XML 文件都不用编写!
控制台输出成功:
6、查看sql输出日志
在application.properties 加入以下代码
#mybatis日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
总结:
更详细的教程
MyBatis-Plus入门相关推荐
- c++框架有哪些_Java Mybatis框架入门教程_v20200726
MyBatis 的前身是 Apache 的开源项目 iBatis.MyBatis 几乎可以代替 JDBC,是一个支持普通 SQL 查询,存储过程和高级映射的基于 Java 的优秀持久层框架.MyBat ...
- MyBatis学习总结(1)——MyBatis快速入门
2019独角兽企业重金招聘Python工程师标准>>> 一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所 ...
- MyBatis基础入门《九》ResultMap自动匹配
MyBatis基础入门<九>ResultMap自动匹配 描述: Mybatis执行select查询后,使用ResultMap接收查询的数据结果. 实体类:TblClient.java 接口 ...
- mybatis的入门
mybatis的环境搭建 第一步:创建maven工程并导入坐标 第二步:创建实体类和dao的接口 第三步:创建Mybatis的主配置文件 ...
- Mybatis最入门---代码自动生成(generatorConfig.xml配置)
[一步是咫尺,一步即天涯] 经过前文的叙述,各位看官是不是已经被Mybatis的强大功能给折服了呢?本文我们将介绍一个能够极大提升我们开发效率的插件:即代码自动生成.这里的代码自动生成包括,与数据库一 ...
- mybatis select count(*) 一直返回0 mysql_Mybatis教程1:MyBatis快速入门
点击上方"Java技术前线",选择"置顶或者星标" 与你一起成长 一.Mybatis介绍 MyBatis是一个支持普通*SQL*查询,存储过程和高级映射的优秀持 ...
- MyBatis学习笔记(一)——MyBatis快速入门
转自孤傲苍狼的博客:http://www.cnblogs.com/xdp-gacl/p/4261895.html 一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优 ...
- Mybatis从入门到精通下篇
Mybatis从入门到精通下篇: 输入类型: 输出类型: ResultMap: 动态sql: if标签: where标签: sql片段: foreach标签: 关联查询: 以订单作为主体: 一对一查询 ...
- Java基础-SSM之mybatis快速入门篇
Java基础-SSM之mybatis快速入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 其实你可能会问什么是SSM,简单的说就是spring mvc + Spring + m ...
- Mybatis的入门到精通这一篇文章就够了
Mybatis的产生 idea 的配置 idea当中配置好maven工具 1Idea当中配置自动编译 Mybatis是什么? Mybatis的执行原理图 Mybatis的入门Demo 对象的详解 Re ...
最新文章
- oracle创建数据库总结,oracle创建数据库和用户方法总结
- hadoop 开启防火墙_Hadoop部署一Hadoop安装
- 实现mysql按月统计的教程
- 窗口!窗口!- Windows程序设计(SDK)003
- 记录部件中GetFieldControlByFieldName(字段值样式设置)用法
- jenkins执行bat失败_关于批处理文件:即使在BAT脚本中成功执行了ROBOCOPY命令,JENKINS作业也会失败...
- python刷题+leetcode(第二部分)
- wifi信号手机测试软件,专业的WiFi检测工具有哪些?如何解决wifi信号不好?
- 在toad新增oracle用户,利用toad发现oracle自动为你干了什么(表空间建立和用户建立)...
- 还有那个bspider不知道哪里的飞鸽传书
- SOTA太难了?试试Dropout
- 一文了解H5照片上传过程
- 程序化交易是指所有利用计算机程序软件,程序化交易软件 电脑程式交易指买进、卖出股票(期货,外汇…)的讯号皆来于自电脑。 程式编写者将其投资理念以电脑语言表示,... - 雪球...
- 如何解决eclipse桌面快捷方式无法打开,jre or jkd的问题
- 18个Windows应该有却没有具有的苦守(2)
- cnn模型(cnn神经网络模型)
- Gimp 替换白色背景
- @Controller注解的一些理解吧
- 物理建模钢琴-Arturia Piano V2 v2.5.0.3410 MacOSX
- Html5 学习笔记 【PC固定布局】 实战7 风景欣赏 联系我们
热门文章
- 无法打开文件 “opencv_world400d.lib”
- IRIS 2021 技术文档 First Look--技术概要:.NET Object Persistence with XEP
- 再别康桥 --徐志摩
- [金融证券] 什么是博傻?
- Android内部集成APP说明
- NOIP2013落谷P1311选择客栈题解
- js实现new关键字
- 此计算机策略设置不允许安装win,Win10设置了系统策略禁止进行此安装怎么解决?...
- 12月16日广州.NET俱乐部下午4点爬白云山活动
- S0-S5,G0-G3(附Intel图)