开发者

一文带你了解如何正确使用MyBatisPlus

开发者 https://www.devze.com 2022-12-07 10:40 出处:网络 作者: 指北君
目录1、创建测试表2、创建 Spring Boot 工程3、导入依赖4、编写数据库配置文件5、编写代码6、CRUD 测试7、打印SQL语句本篇文章,我们通过 MyBATis Plus 来对一张表进行 CRUD 操作,来看看是如何简化我们开发的。
目录
  • 1、创建测试表
  • 2、创建 Spring Boot 工程
  • 3、导入依赖
  • 4、编写数据库配置文件
  • 5、编写代码
  • 6、CRUD 测试
  • 7、打印SQL语句

本篇文章,我们通过 MyBATis Plus 来对一张表进行 CRUD 操作,来看看是如何简化我们开发的。

1、创建测试表

创建 USER 表:

DROPTABLEIFEXISTS`user`;
CREATETABLE`user`(
`ID`int(11)NOTNULL,
`USER_NAME`varchar(32)COLLATEutf8mb4_binDEFAULTNULL,
`USER_AGE`int(11)DEFAULTNULL,
PRIMARYKEY(`ID`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_bin;

向 USER 表中插入两条数据:

INSERTINTO`user`VALUES('1','IT可乐','18');
INSERTINTO`user`VALUES('2','YSOcean','22');

打开表,发现有两条数据了:

一文带你了解如何正确使用MyBatisPlus

2、创建 Spring Boot 工程

通过 IDEA 创建 Spring Boot 工程,如果不能连接 https://staandroidrt.spring.io/ 网址,可以将网址变成 https:android//start.aliyun.com/ ,如下所示python

一文带你了解如何正确使用MyBatisPlus

3、导入依赖

<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-Java</artifactId>
<scope>runtime</scope>
</dependency>

首先mybatis-plus 我们导入最新版 3.3.2。另外,由于我数据采用的是 MySql,所以这里导入了 Mysql 的连接依赖。

另外,为了简化JavaBean 类的书写,我这里额外导入一个 lombok 插件依赖。

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>

通过这个依赖的相关注解,我们可以不用书写繁琐的 get/set 方法。

4、编写数据库配置文件

在 springboot 项目的 resource 目录下,新建 application.yml 文件,添加如下内容:

server:
port:8082

spring:
datasource:
url:jdbc:mysql://localhost:3306/mybatisplus?useUnicode=true&characterEncoding=UTF-8
username:root
password:root
#>=6.x:com.mysql.cj.jdbc.Driver
#<=5.x:com.mysql.jdbc.Driver
driver-class-name:com.mysql.cj.jdbc.Driver

注意:url里面填写的 mybatisplus 是我的数据库名称,注意修改,username和password分别填写自己的数据库连接名称和密码。

5、编写代码

①、实体类User.java

@Getter
@Setter
publicclassUser{
privateLongid;

privateStringuserName;

privateStringuserAge;

}

②、创建UserMapper 接口

importcom.baomidou.mybatisplus.core.mapper.BaseMapper;
importcom.ys.mybatisplusstudy.entry.User;

publicinterfaceUserMapperextendsBaseMapper<User>{
}

③、启动类增加@MapperScan注解

@SpringBootApplication
@MapperScan("com.ys.mybatisplusstudy.mapper")
publicclassMybatisplusstudyApplication{

publicstaticvoidmain(String[]args){
SpringApplication.run(MybatisplusstudyApplication.class,args);
}

}

如果不想在启动类加 @MapperScan 注解,也可在每个 Mapper 接口上增加 @Mapper 注解。

所有配置上面都以完成,是不是很简单,接下来我们对这张表进行CRUD 测试。

6、CRUD 测试

我们在编写 UserMapper 接口时,其继承了一个 BaseMapper 接口:

publicinterfaceUserMapperextendsBaseMapper<User>{
}

我们进入到 BaseMapper 内部,发现其结构如下:

一文带你了解如何正确使用MyBatisPlus

这些方法便是我们常用的增删改查了,下面我们分别演示几个常用的。

①、insert:新增一条记录

@SpringBootTest
classMybatisplusstudyApplicationTests{

@Autowired
privateUserMapperuserMapper;


/**
*新增一条记录
*/
@Test
publicvoidtestInsert(){
Useruser=newUser();
user.setId(3L);
user.setUserName("testinsert");
user.setUserAge("1");
intinsert=userMapper.insert(user);
System.out.println("影响记录数:"+insert);
}

}

执行完毕后,我们查看数据库:

一文带你了解如何正确使用MyBatisPlus

②、delete:删除记录

/**

*根据id删除一条记录
*/
@Test
publicvoidtestDeleteById(){
intnum=userMapper.deleteById(3L);
System.out.println("删除的记录数为:"+num);
QueryWrapperwrapper=newQueryWrapper();
wrapper.eq("id",3L);
userMapper.delete(wrapper);
}

/**

*构造相关条件删除记录
*/
@Test
publicvoidtestDelete(){
QueryWrapperwrapper=newQueryWrapper();
wrapper.eq("USER_NAME","testinsert");
intnum=userMapper.delete(wrapper);
System.out.printl编程客栈n("删除的记录数为:"+num);
}

③、update:修改记录

/**

*根据id修改
*/
@Test
publicvoidtestudpateById(){
Useruser=newUser();
user.setId(3L);
user.setUserName("testupdate");
intnum=userMapper.updateById(user);
System.out.println("修改的记录数为:"+num);
}

④、select:查询记录

/**

*查询User表所有记录
*/
@Test
publicvoidtestSelectAll(){
List<User>users=userMapper.selectList(null);
users.forEach(x->System.out.println(x.getId()+"-"+x.getUserName()+"-"+x.getUserAge()));
}

/**

*查询指定记录
*/
@Test
publicvoidtestSelectWrapper(){
QueryWrapperwrapper=newQueryWrapper();
wrapper.eq("user_name","IT可乐");
List<Us开发者_自学开发er>users=userMapper.selectList(wrapper);
users.forEach(x->System.out.println(x.getId()+"-"+x.getUserName()+"-"+x.getUserAge()));
}

发现没有,做增删改查是如此的丝滑流畅,都不用写SQL语句了。

当然,这都只是单表的简单玩法,后面我们会介绍高阶玩法。

7、打印SQL语句

这里补充一个小知识点,通过如下配置,我们可以查看执行的 SQL 语句日志。

在 applicatio.yml 文件中,进行如下配置:

#配置slq打印日志
mybatis-plus:
configuration:
log-impl:org.apache.ibatis.logging.stdout.StdOutImpl

一文带你了解如何正确使用MyBatisPlus

当然python,这种配置只是把 SQL 日志打印到控制台便于我们调试,后面会介绍更加强大的 SQL 分析工具。

到此这篇关于一文带你了解如何正确使用MyBatisPlus的文章就介绍到这了,更多相关MyBatisPlus使用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号