-3种属性
MyBatis中的statementType详解
在mapper文件中可以使用statementType标记使用什么的对象操作SQL语句。
statementType:标记操作SQL的对象
取值说明:
1、STATEMENT:直接操作sql,不进行预编译,获取数据:$—Statement
2、PREPARED:预处理,参数,进行预编译,获取数据:#—–PreparedStatement:默认
3、CALLABLE:执行存储过程————CallableStatement
其中如果在文件中,取值不同,那么获取参数的方式也不相同
-2种语句
调用存储过程总共有两总语句: CALL 和EXEC
两种语句复制一下代码示例更改即可使用;
CALL 语句 ---
<update id="excuteQuotedPriceResult" statementType="CALLABLE">
CALL sp_sanwjimport_auto(
#{inputRowIdJp,jdbcType=VARCHAR,mode=IN},
#{ipcd,jdbcType=VARCHAR,mode=IN}
)
</update>
EXEC 语句 ---
<update id="executeStorage" statementType="CALLABLE"
parameterType="com.zz.modules.zz.entity.QueryParams">
EXEC sp_TmailAuto_4651
#{tmailDocCode,jdbcType=VARCHAR,mode=IN},'','',''
</update>
-7个注意点
1.使用 update 标签
2.id填入 ,根据实际的
3.statement 为CALLBLE
4.使用 Call语句或者EXEC
5.注意参数类型 jdbcType=VARCHAR ,根据实际的参数类型
6.传入的mode使用IN,传出的使用OUT , 根据存储过程实际的需求
7.注意多参数之间的 逗号 “ , ’”
-2个区别
CALL 是sql语句。----EXEC是sql-plus语句,也就是CALL基本通用。---- EXEC针对Oracle
CALL调用需要括号。 --- EXEC调用不需要括号