MyBatisPlus

cnblogs 2024-10-19 08:09:00 阅读 67

一,MybatisPlus基础

1.1要使用mybatisPlus需要的两个步骤;

1.引入MybatisPlus的依赖

点击查看代码

<code><dependency>

<groupId>com.baomidou</groupId>

<artifactId>mybatis-plus-boot-starter</artifactId>

<version>3.5.3.1</version>

</dependency>

因为此依赖包含了mybatis的起步依赖,所以完全可以代替mybatis的起步依赖。

2.对mapper的定义

在我们自己定义的mapper接口中,让接口实现BaseMapper接口,BaseMapper中已经定义了基本的CRUD方法(单表),可以直接使用。

BaseMapper中的方法:

image

注意:继承的BaseMapper的时候需要指定泛型,这样才能知道方法针对的表,示例:

image

1.2常用注解:

  • @TableName(实体类中使用)

    是表名标注,标注实体类中对应的表。

  • @TableId(实体类中使用)

    是实体类的主键注解,标明实体类中的主键。

    本注解中有一个经常使用的属性,IdType

    image

  • @TableField(在实体类中使用)

    是普通字段上面的注解,一般情况是不需要使用这个注解,在特殊情况下使用:

    image

2.1较复杂的方法

以上都是一些简单的CRUD,还有更多相对复杂的方法,在使用这些复杂方法的时候,除了新增方法,其他方法都会使用到查新条件,也就是where条件,示例如下:

image

所有我们可以使用条件构造器作为Wrapper条件。

wrapper是条件构造的抽象类,有很多的实现类,Wrapper的实现类的继承关系如下:

image

image

其中QueryWrapper在父类AbstractWrapper的基础上增加了selet方法,允许查询指定的字段。

其中UpdateWrapper在父类AbstractWrapper的基础上增加了set方法,允许指定SQL中的set部分。

2.2复杂方法的实际使用

2.2.1QueryWrapper的使用:

这个类的使用不仅限于查询,还可以在删除和修改的时候使用。

查询:查询出名字中带o的,存款大于等于1000元的人。

点击查看代码

<code>@Test

void testQueryWrapper() {

// 1.构建查询条件 where name like "%o%" AND balance >= 1000

QueryWrapper<User> wrapper = new QueryWrapper<User>()

.select("id", "username", "info", "balance")

.like("username", "o")

.ge("balance", 1000);

// 2.查询数据

List<User> users = userMapper.selectList(wrapper);

users.forEach(System.out::println);

}

更新:更新用户名为jack的用户的余额为2000。

点击查看代码

@Test

void testUpdateByQueryWrapper() {

// 1.构建查询条件 where name = "Jack"

QueryWrapper<User> wrapper = new QueryWrapper<User>().eq("username", "Jack");

// 2.更新数据,user中非null字段都会作为set语句

User user = new User();

user.setBalance(2000);

userMapper.update(user, wrapper);

}



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。