<select id="getUsersByCondition" parameterType="User" resultType="User">
<script>
SELECT * FROM users
WHERE 1=1
<if test="id != null">
AND id = #{id}
</if>
<if test="username != null">
AND username = #{username}
</if>
<if test="email != null">
AND email = #{email}
</if>
</script>
</select>
在上述例子中,<script> 元素用于包装 SQL 语句,允许在其中包含多个动态 SQL 元素,如 <if> 等。这样可以更方便地编写包含多个条件的 SQL 语句。
需要注意的是,<script> 元素不是必须的,但在包含多个动态元素时,它可以提高代码的可读性。
另外,<script> 元素还可以用于在 XML 中编写带有特殊字符的 SQL 语句。例如,如果 SQL 语句中包含 <![CDATA[]]> 块或者特殊字符 <, >, & 等,可以使用 <script> 元素来包装 SQL 语句。
<insert id="insertUser" parameterType="User">
<script>
INSERT INTO users (id, username, email)
VALUES (#{id}, #{username}, #{email})
</script>
</insert>
总的来说,<script> 元素是 MyBatis 动态 SQL 的一个有用的工具,允许在 XML 映射文件中更灵活地组合和包装 SQL 片段。
转载请注明出处:http://www.pingtaimeng.com/article/detail/7023/MyBatis