概述
在xxxMapper.xml文件中可以使用statementType标记使用什么的对象操作SQL语句。
说明
StatementType取值说明:
1、STATEMENT:直接操作sql,不进行预编译,获取数据:$ >> Statement
2、PREPARED:预处理,参数,进行预编译,获取数据:# >> PreparedStatement(默认)
3、CALLABLE:执行存储过程————CallableStatement
如下例:
<insert id="test" parameterType="com.xxxxxx.modules.vo.sz.test" statementType="CALLABLE">
{call app_create_check_file(
#{id,mode=INOUT,jdbcType=VARCHAR},
#{serviceVersion,mode=IN,jdbcType=VARCHAR}
)}
</insert>
如果要实现动态传入表名、列名,则需要添加属性statementType=”STATEMENT” ,同时sql里的属有变量取值都改成${xxxx},而不是#{xxx},如下:
<delete id="deleteRecord" parameterType="java.util.Map" statementType="STATEMENT">
<![CDATA[
delete from ${tableName} where
${columnName} < ${date}
]]>
</delete>