rapid使用时 遇到一个问题,因为mybatis 是用 #{属性}来编译SQL的,自动生成模版的时候 #{${column.columnNameLower}} 外面的花括号会报错。
代码如下
<#list table.columns as column>
<#if column.isDateTimeColumn>
<if test="${column.columnNameLower}Begin!=null&&${column.columnNameLower}Begin!=''">
${column.sqlName} >= #${column.columnNameLower}Begin
</if>
<if test="${column.columnNameLower}End!=null&&${column.columnNameLower}End!=''">
${column.sqlName} <= #${column.columnNameLower}End
</if>
<#else>
<if test="${column.columnNameLower}!=null && ${column.columnNameLower}!=''">
${column.sqlName} = #{${column.columnNameLower}}
</if>
</#if>
</#list>
楼上没理解我的问题,我是用rapid配置freemark快速生成模版。我找到解决方案了。${r'{'} 这是freemark的非转义方式
${column.sqlName} >= #${r'{'}${column.columnNameLower}Begin${r'}'}
${column.sqlName} <= #${r'{'}${column.columnNameLower}End${r'}'}
<#else>
${column.sqlName} = #${r'{'}${column.columnNameLower}${r'}'}
</#if>
</#list>