博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MyBatis动态传入表名,字段名参数的解决办法
阅读量:6946 次
发布时间:2019-06-27

本文共 573 字,大约阅读时间需要 1 分钟。

原文:

要实现动态传入表名、列名,需要做如下修改

  • 添加属性statementType="STATEMENT"
  • 同时sql里的属有变量取值都改成${xxxx},而不是#{xxx}
[html] 
 
 
  1. <delete id="deleteTableData" parameterType="java.util.Map" statementType="STATEMENT">  
  2.     <![CDATA[ 
  3.         delete from ${table} where 
  4.         ${col} < ${date}]]>  
  5. </delete>  

1. statementType:STATEMENT(非预编译),PREPARED(预编译)或CALLABLE中的任意一个,这就告诉 MyBatis 分别使用Statement,PreparedStatement或者CallableStatement。默认:PREPARED。这里显然不能使用预编译,要改成非预编译。

2. ${xxxx}:$将传入的数据直接显示生成在sql中,对于字符串数据,需要手动加上引号。

[java] 
 
 
  1. String dateStr = DateFormatUtils.format(date.getTime(), "yyyy-MM-dd HH:mm:ss");  
  2. dateStr = "'" + dateStr + "'"; 

转载地址:http://hcenl.baihongyu.com/

你可能感兴趣的文章
vue图片上传相关(持续更新)
查看>>
java内存简单总结
查看>>
实现windows server 2008 R2多用户同时登陆或者同一用户名同时登陆
查看>>
PMD 插件的安装和使用
查看>>
利用JavaScript生成二维码并且中间有logo
查看>>
泛型小例子
查看>>
译文:C#中的弱事件(Weak Events in C#)
查看>>
抽象工厂模式
查看>>
Maven
查看>>
Unix-Linux 编程实践教程 第八章 小结
查看>>
linux下ElasticSearch安装及问题
查看>>
2019测试指南-web应用程序安全测试(二)指纹Web应用程序
查看>>
Quartus Prime 下载程序到FPGA流程
查看>>
php instanceof 运算符
查看>>
5月3日云栖精选夜读丨寒武纪重磅发布首款AI云芯片,阿里专家告诉你必须注意的Java编程细节...
查看>>
机器学习从业人员到底做什么?
查看>>
MyBatis mapper.xml处理sql中的 大于,小于,大于等于,小于等于
查看>>
java 受检异常和非受检异常
查看>>
GC垃圾回收机制
查看>>
rsync通过服务同步、linux系统日志
查看>>