java mybatis 框架下多种类型的参数传入到xml问题
由于公司要求,最近从.net向java 转,然后过程中遇到各种奇葩问题,特在此随记一番。
场景:一个方法中有两个参数,一个List的集合,一个int 类型的参数,最初我在xml的sql参数,无论定义成List还是int都报错,其实仔细一想就能明白,接口方法中定义了两个类型的参数,所以你XML中的参数类型无论定义成什么都是不对的。
原始写法:
//========================这个例子是原始错误写法的例子===========Start
void batchUpdateUrgetntStatusNew(List<String> li,int Priority);
XML中:
<!-- 修改借款工单优先级 -->
<update id="batchUpdateUrgetntStatusNew" parameterType="java.util.List">
update 表名
<set>
PRIORITY=#{Priority,jdbcType=INTEGER},
MODIFIEDON=NOW()
</set>
where DELETE_STATUS=0 and LOANEE_TYPE=0
and LOANEE_APPLY_ID in
<foreach collection="li" item="item" index="index" separator=","
open="(" close=")">
#{item}
</foreach>
</update>
//========================这个例子是原始错误写法的例子===========End
后来问了一下公司的同事,同事告诉我这样的情况XML中就不要再定义参数类型了,然后改了一下,运行调试ok。
下面是改后的例子
//例子: @Param("li") 为参数起别名,xml可直接使用别名
void batchUpdateUrgetntStatusNew(@Param("li")List<String> li,@Param("Priority")int Priority);
XML:中则不用声明参数类型,parameterType="java.util.List"
<!-- 修改借款工单优先级 -->
<update id="batchUpdateUrgetntStatusNew">
update 表名
<set>
PRIORITY=#{Priority,jdbcType=INTEGER},
MODIFIEDON=NOW()
</set>
where DELETE_STATUS=0 and LOANEE_TYPE=0
and LOANEE_APPLY_ID in
<foreach collection="li" item="item" index="index" separator=","
open="(" close=")">
#{item}
</foreach>
</update>
java mybatis 框架下多种类型的参数传入到xml问题的更多相关文章
- idea插件(mybatis框架下mapper接口快速跳转对应xml文件)亲测好用!
我相信目前在绝大部分公司里,主要使用的框架是S(spring)S(spring MVC)M(mybatis),其中mybatis总体架构是编写mapper接口,框架扫描其对应的mapper.xml文件 ...
- springmvc框架下ajax请求传参数中文乱码解决
springmvc框架下jsp界面通过ajax请求后台数据,传递中文参数到后台显示乱码 解决方法:js代码 运用encodeURI处理两次 /* *掩码处理 */ function maskWord( ...
- mybatis框架下物理分页的实现(整个工程采用的是springmvc、spring、mybatis框架,数据库是mysql数据库)
(一)关于分页拦截器的简单理解 首先,要开发MyBatis的插件需要实现org.apache.ibatis.plugin.Interceptor接口,这个接口将会要求实现几个方法:intercept( ...
- java ssh 框架下 利用junit4 spring-test进行单元测试
ssh框架下 由于bean实列 都交给spring 管理,要做单元测试就比较苦难,junit4 引入注解方便很多: 1. 加入依赖包 使用Spring的测试框架需要加入以下依赖包: JUnit 4 ...
- Java Mybatis 框架入门教程
一.Mybatis介绍 MyBatis是一款一流的支持自定义SQL.存储过程和高级映射的持久化框架.MyBatis几乎消除了所有的JDBC代码,也基本不需要手工去 设置参数和获取检索结果.MyBati ...
- Spring + MyBatis 框架下处理数据库异常
一.概述 使用JDBC API时,很多操作都要声明抛出java.sql.SQLException异常,通常情况下是要制定异常处理策略.而Spring的JDBC模块为我们提供了一套异常处理机制,这套异常 ...
- MyBatis框架使用 —— 传递多个参数的方式
引言 目前,MyBatis的使用越来越普遍,也有一些公司使用Hibernate.使用MyBatis需要我们自己书写SQL语句,面对各种复杂的场景,SQL传递多参是很普遍的.如何传递多参应对不同的场景也 ...
- 【原创】Java和C#下String类型中的==和equals的原理与区别
一.Java下 1.几个例子 public static void main(String[] arge) { String str1 = new String("1234"); ...
- mybatis中使用Integer类型的参数<if>判断问题
mybatis对传入参数进行判断时,会使用if标签, 一般是判断不为null和'', 如下: <if test="name != null and 那么 != ''"> ...
随机推荐
- 关于YARN的HA
一:准备 1.规划 namenode namenode ZKFC ZKFC journalnode journalnode jou ...
- JVM内存状况查看方法和分析工具-jmap
jmap -heap 27657 Attaching to process ID 27657, please wait... Debugger attached successfully. Serve ...
- 最大子序列和 o(n)
问题: 给定一整数序列A1, A2,... An (可能有负数),求A1~An的一个子序列Ai~Aj,使得Ai到Aj的和最大 例如:整数序列-2, 11, -4, 13, -5, 2, -5, -3, ...
- Qt high DPI
http://doc.qt.io/qt-5/highdpi.html Qt Support Ability to provide pixmaps or artwork for high resolut ...
- C++ 编译器内存错误 after Normal block。。。
解决 after Normal block(#908) at 0x399EC0. CRT detected that the application wrote to memory after end ...
- [LeetCode]题解(python):048-Rotate Image
题目来源 https://leetcode.com/problems/rotate-image/ You are given an n x n 2D matrix representing an im ...
- JS全局函数parseInt和parseFloat
1.parsetInt parseInt(string ,radix)解析一个字符串,并返回一个十进制的整数:该方法是将字符串转成十进制整数 console.log(parseInt("01 ...
- 如何由新特性跳转到App首页
前一段时间,一个哥们问我怎么跳转. 1.首先,要获取到当前的window,因为是在window层面上显示,所以,在window层面上进行push. 2.参照上面一条. // 显示状态栏 UIAppli ...
- [转]ANDROID L——Material Design详解(动画篇)
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 转自:http://blog.csdn.net/a396901990/article/de ...
- 用Intellij IDEA 创建第一个maven项目!
1. 一直想如何复用以前项目的maven的jar包! 其实只要拿到pom.xml即可!!! 1.1 创建一个maven项目 2. 3. 创建项目名和项目路径,我给项目起的名字是mavenV1.0 4. ...