mybatisplus查询json字段为null
时间: 2023-10-14 20:12:24 浏览: 118
你可以使用MyBatis Plus提供的`LambdaQueryWrapper`类来查询JSON字段为null的记录。具体操作如下:
1. 导入相关依赖:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-extension</artifactId>
<version>3.4.2</version>
</dependency>
```
2. 定义实体类,包含JSON字段:
```java
@Data
public class User {
private Long id;
private String name;
private String email;
private JSONObject extra;
}
```
3. 使用`LambdaQueryWrapper`查询:
```java
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.isNull(User::getExtra);
List<User> userList = userMapper.selectList(queryWrapper);
```
以上代码会查询`extra`字段为null的记录,并返回一个`List<User>`类型的结果。注意,`extra`字段必须是JSON类型的才能使用`JSONObject`类型进行操作。
相关问题
mybatisplus json条件查询
MybatisPlus支持使用JSON作为条件查询的参数,具体实现方法如下:
1.在实体类中定义一个JSON类型的字段,用于接收前端传递的JSON数据。
2.在Mapper接口中定义一个方法,使用@Param注解将JSON数据传递给方法。
3.在Mapper.xml文件中使用<if>标签判断JSON数据中是否包含某个字段,如果包含则将该字段作为查询条件。
以下是示例代码:
1.实体类:
@Data
public class User {
private Long id;
private String username;
private String password;
private String department;
private String name;
private String gender;
private Date birthday;
private String jsonCondition; // JSON类型的字段
}
2.Mapper接口:
List<User> selectByJson(@Param("jsonCondition") String jsonCondition);
3.Mapper.xml文件:
<select id="selectByJson" resultType="User">
select * from user
<where>
<if test="jsonCondition != null and jsonCondition != ''">
<foreach collection="jsonCondition" item="value" open="{" close="}" separator=",">
<if test="value.field == 'username'">
and username like concat('%',#{value.value},'%')
</if>
<if test="value.field == 'department'">
and department = #{value.value}
</if>
<if test="value.field == 'gender'">
and gender = #{value.value}
</if>
</foreach>
</if>
</where>
</select>
注意:以上代码仅为示例,具体实现需要根据实际情况进行调整。
mybatisplus字段不等于null或者不等于空串
要查询Mybatis Plus中字段不等于null或者不等于空串的数据,可以使用条件构造器中的ne函数和StringUtils工具类的isNotBlank函数进行判断。
首先,在条件构造器中使用ne函数,ne函数表示不等于的条件。例如,如果要查询字段name不等于null的数据,可以使用如下代码:
```java
QueryWrapper<Entity> wrapper = new QueryWrapper<>();
wrapper.ne("name", null);
```
如果还要判断字段不等于空串,可以使用StringUtils工具类的isNotBlank函数。例如,如果要查询字段name不等于空串的数据,可以使用如下代码:
```java
QueryWrapper<Entity> wrapper = new QueryWrapper<>();
wrapper.ne("name", "").and(StringUtils.isNotBlank("name"));
```
通过以上代码,即可查询到字段不等于null或者不等于空串的数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [Mybatis如何查询数据部分字段显示为null,转成空串(““)呢?](https://blog.csdn.net/qq_25073223/article/details/128093690)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [java json不生成null或者空字符串属性(详解)](https://download.csdn.net/download/weixin_38577378/12979306)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)