<script> 元素是 MyBatis 中用于包装动态 SQL 片段的元素。当你需要在 XML 映射文件中编写一段包含多个 SQL 语句的动态 SQL 时,<script> 元素会很有用。以下是一个基本的使用示例:
<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