mybatis中 <include refid="Base_Column_List" />问题

mybatis中 <include refid="Base_Column_List" />问题

老师,我想请问一下在Mybatis中     <include refid="Base_Column_List" />和 <include refid="Blob_Column_List" />分别有什么作用,<include refid="Base_Column_List" />代替的是*,为什么不用*呢?还有就是<include refid="Blob_Column_List" />呢?

使用mybatis-generator自动生成的SQL语句中如下图,是两个都有的。

http://img1.sycdn.imooc.com//climg/5f6ef7630964394811360405.jpg在我查询所有帖子的时候,如果只用     <include refid="Base_Column_List" />,查到的结果中content为空:

http://img1.sycdn.imooc.com//climg/5f6ef7e5099312fa07160262.jpghttp://img1.sycdn.imooc.com//climg/5f6ef80d096e365e08950604.jpg

而     <include refid="Base_Column_List" />和 <include refid="Blob_Column_List" />都加上后就正常了

所有的都能查到

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,

1、在MyBatis中<sql>标签用于定义SQL片段。<include>标签表示引用,可以复用SQL片段。

PostMapper.xml中代码如下:

http://img1.sycdn.imooc.com//climg/5f6f08a70902095908920363.jpg

select <include refid="Base_Column_List" />  , <include refid="Blob_Column_List" /> 等同于 select id, username, title, create_time, update_time  ,  content 

如果只用 <include refid="Base_Column_List" />时,就只会查询出select id, username, title, create_time, update_time,不会查询content。

2、使用*会查询出表中所有列的数据。post表中content列的类型是text,可以保存大文本数据。如果所有post的查询都查询出content,会影响程序的性能。应该根据业务情况,当需要content值时,才查询content值。

祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师