mybatis plus 在java中如何查询json格式的字段
时间: 2024-05-02 22:16:33 浏览: 160
mybatis直接操作 mysql 的 json 字段源码 参考 全程java类型
你可以使用Mybatis Plus提供的JsonCondition类来查询json格式的字段。具体步骤如下:
1.在实体类中引入JsonNode类型的字段,用于存储json数据。
2.在Mapper接口中定义查询方法,使用@Json注解标注要查询的json字段。
3.在Mapper.xml中编写mybatis plus的条件查询语句,使用JsonCondition类的静态方法构造查询条件,如eq、like等。
示例代码如下:
实体类:
```
public class User {
private Long id;
private String name;
private JsonNode info;
// getters and setters
}
```
Mapper接口:
```
public interface UserMapper extends BaseMapper<User> {
@Select("SELECT id,name,info FROM user WHERE JSON_EXTRACT(info, '$.age') = #{age}")
List<User> selectByJsonAge(@Param("age")Integer age);
@Select("SELECT id,name,info FROM user WHERE JSON_EXTRACT(info, '$.address') LIKE CONCAT('%',#{address},'%')")
List<User> selectByJsonAddress(@Param("address")String address);
}
```
Mapper.xml:
```
<select id="selectByJsonAge" resultType="com.example.User">
SELECT id,name,info FROM user
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectByJsonAddress" resultType="com.example.User">
SELECT id,name,info FROM user
<where>
${ew.sqlSegment}
</where>
</select>
```
你可以根据自己的实际情况,使用JsonCondition类的其他方法来查询json格式的字段。
阅读全文