目录
前言
上节回顾
上一节我们对SpringBoot框架进行了搭建,其实按照流程走问题不大。最主要的部分我们把下载SpringBoot demo的网址换成了我们国内aliyun.com。这样不仅我们的访问速度变快了,而且创建过程中也不会因为网络问题卡顿或者出错。
本节介绍
这一节,我们将介绍如何在Spring Boot应用程序中集成Mybatis-Plus。MybatisPlus是一个Mybatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。这会让我们接下来的开发如鱼得水。接下来开始我们的旅程吧...
一、添加依赖项
- pom.xml文件引入依赖
<!-- mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
MyBatis-Plus Boot Starter是Mybatis-Plus的启动器,它提供了一些额外的功能,如分页插件和乐观锁插件
二、配置数据库连接信息
接下来我们将src/main/resources/application.properties文件修改成application.yml文件
然后在application.yml文件中添加以下配置信息
ip:本机ip地址
port:端口号
driver-class-name:指定了MySQL驱动程序的类名
url:指定了要连接的MySQL数据库的地址、端口号和数据库名称
username:数据库名称
password:数据库密码
log-impl:控制台打印sql语句
# 应用服务 WEB 访问端口
server:
ip: localhost
port: 9090
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/wh?serverTimezone=UTC
username: root
password: root
mybatis:
mapper-locations: classpath:mapper/*.xml #扫描所有mybatis的xml文件
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
三、数据库创建表
我们在数据库中创建一个sys_user表
创建表结构的DDL语句如下:
CREATE TABLE `sys_user` (
`id` int NOT NULL AUTO_INCREMENT COMMENT 'id',
`username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '用户名',
`password` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '密码',
`nickname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '昵称',
`email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '邮箱',
`phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '电话',
`address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '地址',
`create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`avatar_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '图片路径',
`role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '角色',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=56 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
四、创建实体表
现在我们可以开始创建实体类来表示我们的数据模型。例如我们创建一个名为sysUser的实体类来标识一个用户:
参考文档:注解 | MyBatis-Plus
@TableName:表名注解,标识实体类对应的表
@Data:使用lombok注解
@TableId:主键注解
@TableName("sys_user")
@Data
public class SysUser {
@TableId(value = "id",type = IdType.AUTO)
private int id;//id
private String username;//用户名
private String password;//密码
private String nickname;//昵称
private String email;//邮箱
private String phone;//电话
private String address;//地址
private LocalDateTime create_time;//创建时间
private String avatar_url;//图片路径
private String role;//角色
}
在上面的代码中,我们使用了@Data注解来自动生成getter和setter方法,并使用Lombok库中的@Data注解来简化代码。这将使我们能够在后续步骤中使用Mybatis-Plus来访问和操作这个实体类。
五、编写Mapper接口
在src/main/java/cn/soft/wh下新建一个包。命名为mapper。在里面新建一个SysUserMaper接口。
代码如下:
@Mapper
public interface SysUserMapper extends BaseMapper<SysUser> {
}
六、功能测试
- 我们先在数据库填写一条测试数据
- 在src/test/java/cn/soft/wh下新建一个测试类
@SpringBootTest
public class SampleTest {
@Resource
private SysUserMapper sysUserMapper;
@Test
public void testSelect() {
System.out.println(("----- selectAll method test ------"));
List<SysUser> userList = sysUserMapper.selectList(null);
Assert.isTrue(1 == userList.size(), "");
userList.forEach(System.out::println);
}
}
测试完成,如果控制台如下输出,说明测试成功。我们的SpringBoot集成MybatisPlus就结束了。
至此,我们的SpringBoot+MybatisPlus项目框架就搭建好了。