MyBatis Plus屏蔽实体类里面的查询拼接字段
时间: 2023-07-20 20:05:45 浏览: 53
MyBatis Plus提供了一种方便的方式来屏蔽实体类中的查询拼接字段,即使用注解`@TableField(exist = false)`来标注该字段不属于数据库表的字段,从而不会被MyBatis Plus自动处理成SQL语句的条件。
例如,定义一个实体类:
```java
public class User {
private Long id;
private String username;
@TableField(exist = false)
private String fullName;
// 省略getter和setter方法
}
```
在这个实体类中,`fullName`字段被标注为`@TableField(exist = false)`,表示该字段不属于数据库表的字段,不会被MyBatis Plus自动处理成SQL语句的条件。
当使用MyBatis Plus的条件构造器进行查询时,可以像下面这样使用:
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("username", "admin");
```
这样,只有`username`字段被作为查询条件,而`fullName`字段不会被自动处理成SQL语句的条件。
相关问题
mybatis-plus动态拼接查询条件工具类
MyBatis-Plus是一个强大的ORM框架,提供了许多便捷的查询功能。在实际开发中,经常会遇到需要根据不同条件动态拼接查询语句的需求。为了方便处理这种情况,可以创建一个工具类来实现动态拼接查询条件。
首先,需要引入MyBatis-Plus的相关依赖,并且配置好数据库连接。
然后,创建一个名为"QueryWrapperUtil"的工具类。在这个工具类中,定义一个静态方法,例如"buildQueryWrapper",用于构建查询条件。
这个方法需要接收一个实体对象和一个条件Map作为参数。实体对象用于指定查询的表和字段,条件Map用于存储查询条件。
在方法体内,首先创建一个QueryWrapper对象,然后遍历条件Map,根据条件的不同类型进行条件拼接。例如,可以使用QueryWrapper的eq方法来添加等于条件,使用like方法来添加模糊查询条件等。
最后,返回构建好的QueryWrapper对象。
使用这个工具类时,可以先创建一个条件Map,并根据需要往里面添加各种查询条件。然后调用工具类的buildQueryWrapper方法,将实体对象和条件Map作为参数传入,即可得到构建好的QueryWrapper对象。
最后,可以将这个QueryWrapper对象传入MyBatis-Plus的相关查询方法中进行查询操作。由于QueryWrapper对象已经包含了动态拼接的查询条件,可轻松实现根据不同条件查询的功能。
mybatis plus 实体类名字加后缀_MyBatis-Plus入门篇——CRUD
MyBatis Plus 实体类名字加后缀是为了与数据库表名区分开来,建议采用驼峰命名法,例如:
```
@Table(name = "user")
public class UserModel {
@TableId(type = IdType.AUTO)
private Long id;
private String name;
private Integer age;
private String email;
// 省略 getter 和 setter
}
```
以上代码中,实体类名为 `UserModel`,表名为 `user`。同时,建议在实体类上添加 `@Table` 注解,指定表名。在字段上,可以使用 `@TableId` 注解指定主键类型和生成策略。
在 MyBatis Plus 中,使用实体类进行 CRUD 操作非常方便。例如,新增一条记录:
```
UserModel user = new UserModel();
user.setName("张三");
user.setAge(20);
user.setEmail("zhangsan@example.com");
int rows = userMapper.insert(user);
```
以上代码中,通过 `userMapper` 对象调用 `insert` 方法即可插入一条记录。
其他 CRUD 操作也类似,例如查询:
```
List<UserModel> userList = userMapper.selectList(new QueryWrapper<UserModel>()
.eq("age", 20)
.like("name", "张")
.orderByDesc("id"));
```
以上代码中,通过 `userMapper` 对象调用 `selectList` 方法即可查询满足条件的记录。其中,`QueryWrapper` 是 MyBatis Plus 提供的条件构造器,可以方便地拼接查询条件。