加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java-mybaits-016-mybatis知识点StatementType

发布时间:2020-12-15 07:50:28 所属栏目:Java 来源:网络整理
导读:1、statementType 在mapper文件中可以使用statementType标记使用什么的对象操作SQL语句。 statementType:标记操作SQL的对象? 要实现动态传入表名、列名,需要做如下修改 ,添加属性statementType=”STATEMENT” ,同时sql里的属有变量取值都改成${xxxx},而

1、statementType

在mapper文件中可以使用statementType标记使用什么的对象操作SQL语句。

statementType:标记操作SQL的对象?

要实现动态传入表名、列名,需要做如下修改 ,添加属性statementType=”STATEMENT” ,同时sql里的属有变量取值都改成${xxxx},而不是#{xxx}

<delete id="deleteTableData" parameterType="java.util.Map" statementType="STATEMENT">  
    <![CDATA[ 
        delete from ${table} where 
        ${col} < ${date}]]>  
</delete> 

取值说明:?
1、STATEMENT:直接操作sql,不进行预编译,获取数据:$—Statement?
2、PREPARED:预处理,参数,进行预编译,获取数据:#—–PreparedStatement:默认?
3、CALLABLE:执行存储过程————CallableStatement?
另外说明下:如果只为STATEMENT,那么sql就是直接进行的字符串拼接,这样为字符串需要加上引号,如果为PREPARED,是使用的参数替换,也就是索引占位符,我们的#会转换为?再设置对应的参数的值

?

?

?

方式

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读