数据库中text类型的数据,页面中查询不出来的问题(慢慢提高)

时间:2024-04-14 17:51:30

问题描述:
今天在做项目的时候,发现了一个坑爹的问题,在做一个模块的查询功能时,遇到有个字段的数据查询不出来,但其他字段没有异常,数据都能正常查询,后台在查询的时候也没报错。这就有点纳闷了,开始以为是前台字段单词写错了,经排查,发现不是这个问题。
后来在数据库中找到了这张表,发现这个字段是text类型,而我的bean对象的字段写的是string类型。数据库中text类型的数据,页面中查询不出来的问题(慢慢提高)
这下才发现问题所在,原来是我查询时用的是**selectByExample()这个方法,这就是惯性思维了,当遇到text类型时,这个方法就不行了,我的解决办法是换用selectByExampleWithBLOBs()方法,换用之后就解决了,下面上图
数据库中text类型的数据,页面中查询不出来的问题(慢慢提高)
成功之后:
数据库中text类型的数据,页面中查询不出来的问题(慢慢提高)
下面说一下这个问题的原理吧:
查看源码
selectByExample()**这个方法只是resultMap=“BaseResultMap”,而BaseResultMap里是没有查询text类型的数据的,所以debug查看introduction字段里的内容为null
数据库中text类型的数据,页面中查询不出来的问题(慢慢提高)
但是查看selectByExampleWithBLOBs()方法的源码,看到它可以获取到text类型-introduction字段里的内容
数据库中text类型的数据,页面中查询不出来的问题(慢慢提高)