当前位置: 代码网 > it编程>编程语言>Java > 一文教你学会如何使用MyBatisPlus

一文教你学会如何使用MyBatisPlus

2024年05月28日 Java 我要评论
前言本篇文章,我们通过 mybatis plus 来对一张表进行 crud 操作,来看看是如何简化我们开发的。1、创建测试表创建 user 表:drop table if exists `user`;

前言

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

1、创建测试表

创建 user 表:

drop table if exists `user`;
create table `user` (
  `id` int(11) not null,
  `user_name` varchar(32) collate utf8mb4_bin default null,
  `user_age` int(11) default null,
  primary key (`id`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_bin;

向 user 表中插入两条数据:

insert into `user` values ('1', 'it可乐', '18');
insert into `user` values ('2', 'ysocean', '22');

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

2、创建 spring boot 工程

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

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@setterpublic class user {private long id;

private string username;

private string userage;

}②、创建 usermapper 接口

import com.baomidou.mybatisplus.core.mapper.basemapper;import com.ys.mybatisplusstudy.entry.user;

public interface usermapper extends basemapper<user> {}

③、启动类增加 @mapperscan 注解

@springbootapplication@mapperscan("com.ys.mybatisplusstudy.mapper")public class mybatisplusstudyapplication {

public static void main(string[] args) {
    springapplication.run(mybatisplusstudyapplication.class, args);
}

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

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

6、crud 测试我们在编写 usermapper 接口时,其继承了一个 basemapper 接口:

public interface usermapper extends basemapper<user> {}我们进入到 basemapper 内部,发现其结构如下:

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

①、insert:新增一条记录

@springboottest
class mybatisplusstudyapplicationtests {

    @autowired
    private usermapper usermapper;


    /**
     * 新增一条记录
     */
    @test
    public void testinsert(){
        user user = new user();
        user.setid(3l);
        user.setusername("test insert");
        user.setuserage("1");
        int insert = usermapper.insert(user);
        system.out.println("影响记录数:"+insert);
    }

}

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

②、delete:删除记录

/**

 * 根据id删除一条记录
   */
   @test
   public void testdeletebyid(){
   int num = usermapper.deletebyid(3l);
   system.out.println("删除的记录数为:"+num);
   querywrapper wrapper = new querywrapper();
   wrapper.eq("id",3l);
   usermapper.delete(wrapper);
   }

/**

 * 构造相关条件删除记录
   */
   @test
   public void testdelete(){
   querywrapper wrapper = new querywrapper();
   wrapper.eq("user_name","test insert");
   int num = usermapper.delete(wrapper);
   system.out.println("删除的记录数为:"+num);
   }

③、update:修改记录

/**

 * 根据id修改
   */
   @test
   public void testudpatebyid(){
   user user = new user();
   user.setid(3l);
   user.setusername("test update");
   int num = usermapper.updatebyid(user);
   system.out.println("修改的记录数为:"+num);
   }

④、select:查询记录

/**

 * 查询user表所有记录
   */
   @test
   public void testselectall(){
   list<user> users = usermapper.selectlist(null);
   users.foreach(x-> system.out.println(x.getid()+"-"+x.getusername()+"-"+x.getuserage()));
   }

/**

 * 查询指定记录
   */
   @test
   public void testselectwrapper(){
   querywrapper wrapper = new querywrapper();
   wrapper.eq("user_name","it可乐");
   list<user> 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

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

以上就是一文教你学会如何使用mybatisplus的详细内容,更多关于mybatisplus使用教程的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com