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语句中如下图,是两个都有的。
在我查询所有帖子的时候,如果只用 <include refid="Base_Column_List" />,查到的结果中content为空:
而 <include refid="Base_Column_List" />和 <include refid="Blob_Column_List" />都加上后就正常了
所有的都能查到
正在回答
同学你好,
1、在MyBatis中<sql>标签用于定义SQL片段。<include>标签表示引用,可以复用SQL片段。
PostMapper.xml中代码如下:
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值。
祝学习愉快~
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星