Mybatis在映射文件中 sql标签和include标签的使用 <include refid=“Base_Column_List“ />
最近在使用springboot来写项目,用到了这两个标签,不是很理解于是就去查阅了资料,下面说一下自己的见解<sql>用来封装SQL语句<include>来调用如果用了refid="base_column_list"则:1.首先定义一个sql标签,在这个标签中一定要定义唯一id<sql id="Base_Column_List" >字段名1,字段名2</s
最近在使用springboot来写项目,用到了这两个标签,不是很理解于是就去查阅了资料,下面说一下自己的见解
<sql>用来封装SQL语句
<include>来调用
如果用了refid="base_column_list"则:
1.首先定义一个sql标签,在这个标签中一定要定义唯一id
<sql id="Base_Column_List" >
字段名1,字段名2
</sql>
2、然后通过id引用
<select id="selectAll">
select
<include refid="Base_Column_List" />
from 表名
</select>
这时<include refid="Base_Column_List" />会自动把上面的代码贴过来。
数据库中查询的语句就可以解析为:select 字段名1,字段名2 from 表名
下面贴上自己的代码可进行参考
<sql id="Base_Column_List">
uid, username, password, role
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from usr
where uid = #{uid,jdbcType=INTEGER}
</select>
就等同于
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
uid, username, password, role
from usr
where uid = #{uid,jdbcType=INTEGER}
</select>
总结:
<include refid="Base_Column_List" /> 这个在MyBatis查询数据库的sql中经常会出现。在上面已经定义,作用相当于 * ,
Base_Column_List是固定的几个字段,而用*号的话会降低查询效率,因为后期数据库的字段会不断增加,也可以说是一个优化数据库查询的小技巧吧
更多推荐
所有评论(0)