版权声明:本文为 小异常 原创文章,非商用自由转载-保持署名-注明出处,谢谢!
本文网址:https://blog.csdn.net/sun8112133/article/details/106916708
文章目录
本篇博客还是以一个众所周知的 HelloWorld 小案例开始讲起,帮助大家快速了解 MyBatis Plus 这款主流框架。
本篇博客是基于 Spring Boot 开发的,使用 Spring Boot(2.3.1) 来整合 MyBatis Plus(3.3.1) 框架。对 Spring Boot 还不熟悉的小伙伴请参考我之前写的博客:《Spring Boot 入门学习笔记》。
一、MyBatis Plus 概述
在讲 HelloWorld 这个小案例之前,我先大概介绍一下什么是 MyBatis Plus,以及它的优点及缺点。
我想,相信大家在看我这篇 MyBatis Plus 博客前,都已经对 MyBatis 有过一些了解,对 MyBatis 框架还陌生的小伙伴请参数我之前写的博客:《MyBatis 笔记整理》。
MyBatis Plus (简称 MP)是一款国产化的开源框架,是我们中国人在 MyBatis 的基础上进行二次封装,它使用起来比 MyBatis 更加简单,效率也大大提升。
大家可以理解为它是 MyBatis 的增强工具,只做增强不做任何改变,为简化开发、提高效率而生。MyBatis Plus 官网:https://mp.baomidou.com/
二、HelloWorld
先创建一个最基本的 Java 工程,或者创建一个简单的 Maven 工程,这里推荐大家使用 Maven 工程(可以参考:在 Eclipse 中使用 Maven)。
1、准备工作
1)创建 Spring Boot 微服务基础工厂
2)在 pom.xml 中引入 MyBatis Plus 的依赖
因为 MyBatis Plus 是一款国产的开源框架,并没有接入到 Spring 官方孵化器中(孵化器可以理解成 Spring 依赖容器),所以需要我们手动引入依赖信息。
<!-- 因为是 Spring Boot 来管理,所以必须使用 boot-starter 起步依赖 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1.tmp</version>
</dependency>
它会自动加入以下 Jar 包:
3)数据表
create table `user` (
`id` int(11) not null auto_increment,
`name` varchar(255),
`age` int(11),
primary key (`id`)
);
-- 随意插入几条记录
2、目录结构
3、创建实体类
@Data
public class User {
private Integer id;
private String name;
private Integer age;
}
4、创建 Mapper 接口
public interface UserMapper extends BaseMapper<User> {
}
5、配置文件(application.yml)
spring:
datasource: # 配置数据源信息
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql:///demo?useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true
username: root
password: 123456
server:
port: 8888 # 配置项目端口号
mybatis-plus:
configuration: # 开启显示 SQL 语句
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
6、在启动类上添加 @MapperScan 注解
在启动类上添加
@MapperScan
注解,用来扫描 Mapper 接口,否则无法加载 Mapper Bean。
@SpringBootApplication
@MapperScan("com.demo.mapper")
public class MybatisplusApplication {
public static void main(String[] args) {
SpringApplication.run(MybatisplusApplication.class, args);
}
}
7、测试
@SpringBootTest
class UserMapperTest {
@Autowired
private UserMapper mapper;
@Test
void test() {
// 遍历表中所有的数据
mapper.selectList(null).forEach(System.out::println);
}
}