文章目录
一、使用的技术栈
1、后端使用SSM(这里的M是mybatisPlus)+SpringBoot进行开发
2、数据库使用MySQL
3、服务器使用docker部署代码
下文主要介绍MybatisPlus的运用
二、MybatisPlus的运用
2.1 MybatisPlus的介绍
MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
Mybatis-Plus 是 MyBatis 的一个增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis-Plus 已经封装好了一些 CRUD 方法,因此不需要再写 xml 了,仅仅通过少量配置即可实现单表大部分的CRUD操作。使用时直接调用这些方法就行。可以大大加快开发的效率。
2.2 MybatisPlus的基本使用
2.2.1 新建一个项目引入依赖
使用springboot3.x版本需要引入3.5.5版本的mp
<!--需要用3.5.5版本的mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.5</version>
</dependency>
<!--下面是mybatis配置,实测需要导入-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>3.0.3</version>
</dependency>
2.2.2 配置yml
# 配置数据源
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/springboot-mysql?userSSL=false;serverTimezone=Asia/Shanghai
username: root #填写自己的数据库username
password: 123456 #填写自己的密码
mybatis-plus:
# mapper配置文件
mapper-locations: classpath:mapper/*.xml
# resultType别名,没有这个配置resultType包名要写全,配置后只要写类名
type-aliases-package: com.example.springboot01.entity
configuration:
# 日志的配置,直接添加即可,内部有自带配置项
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
2.2.3 配置启动类
在启动类上加上标签
@MapperScan("com.example.demo.mapper") // 填mapper/dao路径
2.2.4 常用方法
具体的CRUD方法可以查看下面这个文档
官方文档
2.2.5 遇到的坑
在使用MybatisPlus的过程中,笔者目前遇到的坑主要是没有映射好主键字段所导致的数据库主键过大,解决方法如下:
1、在实体类的主键字段上面加上@TableId(type = IdType.AUTO)注释,将数据库表主键映射到该属性上,IdType.AUTO确保数据库字段是自动递增的。
2、如果数据已经插入了过长主键主键的情况,如下图
在这种情况下,先删除掉过长主键的这两行数据(如果能清空这张表最好清空),然后打开DDL控制台(笔者这里使用的是datagrip,右键表名称新建查询控制台即可),使用
ALTER TABLE 【表名】 AUTO_INCREMENT = 【自增id初始值】
来修改主键递增的值,注意【自增id初始值】一定要大于现有id最大值,略大于即可,否则不生效。
2.3 总结
在本次项目中,团队使用了MybatisPlus框架来对数据库进行CRUD操作,由于其封装了单表的基础CRUD方法,大大简化了sql语句的编写工作,基本只有在联表查询的时候才会在xml里面去编写sql语句,加快了工作效率。