mybatis 动态sql 换行问题
时间: 2023-07-28 21:34:21 浏览: 253
Mybatis的切换数据库
在 MyBatis 的动态 SQL 中,可以使用 XML 标签 `<![CDATA[ ]]>` 来包含 SQL 语句,这样可以避免 SQL 语句中出现的特殊字符被转义。而在这个标签内部,可以使用普通的 SQL 语法,包括换行符。
如果你想在动态 SQL 中添加换行符,可以在 SQL 语句中使用 `\n` 或者 `\r\n` 来表示换行。但是需要注意的是,如果直接在 XML 标签内部使用这些字符,可能会被解析器转义,导致换行符失效。所以,在动态 SQL 中添加换行符的正确方式是使用 `<![CDATA[ ]]>` 标签来包含 SQL 语句,并在其中使用换行符。
例如,下面的代码演示了如何在 MyBatis 的动态 SQL 中添加换行符:
```xml
<select id="queryUsers" resultType="User">
SELECT *
FROM user
WHERE 1 = 1
<if test="name != null and name != ''">
AND name = #{name}
</if>
<if test="age != null">
AND age = #{age}
</if>
</select>
```
在这个例子中,使用了 `<![CDATA[ ]]>` 标签包含 SQL 语句,并在其中使用了换行符。这样,生成的 SQL 语句就可以正确换行了。
阅读全文