myibatis的坑--text类型的字段查询缺失
Posted 雕刻时光
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了myibatis的坑--text类型的字段查询缺失相关的知识,希望对你有一定的参考价值。
问题:某个字段的类型为text(或者mediumtext,longtext)的时候,用selectByQuery语句查询出来的结果不包含该字段内容。
myibatis 用mybatis-generator自动生成以后,text,mediumtext,longtext跟普通的varchar,char类型的字段会有区别。
如下:
<resultMap id="BaseResultMap" > <id column="id" property="id" jdbcType="BIGINT" /> <result column="gmt_create" property="gmtCreate" jdbcType="TIMESTAMP" /> <result column="gmt_modified" property="gmtModified" jdbcType="TIMESTAMP" /> </resultMap> <resultMap id="ResultMapWithBLOBs" extends="BaseResultMap" > <result column="job_content" property="jobContent" jdbcType="LONGVARCHAR" /> </resultMap>
不单单只有“BaseResultMap”,还有一个“ResultMapWithBLOBs”,
后面在查询的时候,有两个select,一个是只包含BaseResultMap的selectByQuery,另外一个是包含BaseResultMap和ResultMapWithBLOBs的selectByQueryWithBLOBs。
结论:如果所有内容都想查询,就要用selectByQueryWithBLOBs,默认的selectByQuery会有问题。
以上是关于myibatis的坑--text类型的字段查询缺失的主要内容,如果未能解决你的问题,请参考以下文章
mysql中字段为text类型使用mybatis的Criteria查询无法进行封装
ElasticSearch 如何查询缺失(missing)字段数据