# MyBatis-常用代码
# include 标签
定义 SQL 片段:
<!-- 定义公共字段 -->
<sql id="Base_Column_List">
id, name, email, create_time
</sql>
<!-- 定义带条件的片段 -->
<sql id="Where_Clause">
<where>
status = 1
<if test="name != null">
AND name LIKE #{name}
</if>
</where>
</sql>
相同文件内 引用 SQL 片段:
<!-- 查询时引用字段列表 -->
<select id="selectAll" resultType="User">
SELECT
<include refid="Base_Column_List"/> <!-- 插入字段 -->
FROM user
</select>
<!-- 引用条件片段 -->
<select id="selectByCondition" resultType="User">
SELECT * FROM user
<include refid="Where_Clause"/> <!-- 插入WHERE条件 -->
</select>
跨文件 引用 SQL 片段:
<!-- 引用 OtherMapper.xml 中的片段 -->
<include refid="com.example.OtherMapper.Base_Column_List"/>
传递参数到片段:
<!-- 定义带参数的片段 -->
<sql id="Order_By">
ORDER BY ${orderColumn} ${orderDirection}
</sql>
<!-- 引用时传递参数 -->
<select id="selectUsers" resultType="User">
SELECT * FROM user
<include refid="Order_By">
<property name="orderColumn" value="create_time"/> <!-- 动态值 -->
<property name="orderDirection" value="DESC"/>
</include>
</select>
参考:
上一篇: 下一篇:
本章目录