select * from t_test where info->'$.address' = 'shanghai'
测试结果如下:
查询2:
select * from t_test where JSON_CONTAINS(info,JSON_OBJECT('major','math','height',1.87))
测试查询结果:
可以看到mybatis plus默认生成的info字段类型是string的,早期版本是 @TableField(el = "info,typeHandler = com.ccm.test.handler.ListTypeHandler") 试了下并不起作用,并没有去深究,升级版本后
试了下是可以的,测试的结果是后面重新建了表省去了几个字段
实体类存List属性对应数据库的json。根据查询相关信息显示,实体类中有个属性是其他对象,或者是List,在数据库中存储时使用的是mysql的json格式,此时可以用mybatisplus的一个注解TableField(typeHandler=JacksonTypeHandler.class。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)