mybatis在where中比较复杂的判断
<if test="param.applicationStateInNumber != null and param.applicationStateInNumber != ''">
and #{param.applicationStateInNumber,jdbcType=INTEGER} like (case when (fa.whether_invoice is null and fa.whether_pay is null ) then "1"
when (fa. whether_invoice=1 and fa.whether_pay is null ) then "2、3"
when (fa.whether_invoice = 1 and fa.whether_pay = 1) then "4" end)
</if>
这个是需要判断传入的参数不为空,且传入的参数在一个case when 中,起初把
#{param.applicationStateInNumber,jdbcType=INTEGER}
写成了
param.applicationStateInNumber
报错:badsqlGrammer,未知的参数param.applicationStateInNumber
#{param.applicationStateInNumber,jdbcType=INTEGER}
mybatis在where中比较复杂的判断的更多相关文章
- mybatis动态sql中的两个内置参数(_parameter和_databaseId)
mybatis动态sql中的两个内置参数(_parameter和_databaseId) <!-- mybatis动态sql的两个内置参数 不只是方法传递过来的参数可以被 ...
- MyBatis mapper文件中使用常量
MyBatis mapper文件中使用常量 Java 开发中会经常写一些静态常量和静态方法,但是我们在写sql语句的时候会经常用到判断是否等于 //静态类 public class CommonCod ...
- Mybatis在idea中错误:Invalid bound statement (not found)
学习mybatis的过程中,测试mapper自动代理的时候一直出错,在eclipse中可以正常运行,而同样的代码在idea中却无法成功.虽然可以继续调试,但心里总是纠结原因.百度了好久,终于找到一个合 ...
- MyBatis mapper文件中的变量引用方式#{}与${}的差别
MyBatis mapper文件中的变量引用方式#{}与${}的差别 #{},和 ${}传参的区别如下:使用#传入参数是,sql语句解析是会加上"",当成字符串来解析,这样相比于$ ...
- Mybatis基本用法--中
Mybatis基本用法--中 第四部分 动态 SQL 动态 SQL 元素和使用 JSTL 或其他类似基于 XML 的文本处理器相似.MyBatis 采用功能强大的基于 OGNL 的表达式来消除其他元素 ...
- Mybatis映射文件中#取值时指定参数相关规则
Mybatis映射文件中#取值时指定参数相关规则 在#{}中,除了需要的数值外,还可以规定参数的一些其他规则. 例如:javaType,jdbcType,mode(存储过程),numericScale ...
- 通过mybatis向数据库中插入日期数据
遇到的问题: 通过mybatis向数据库中插入日期格式数据,发现只有年月日, 没有小时分钟和秒 当你想在实体类中使用java.util.Date类型,而且还想在数据库中保存时分秒时, 解决办法: 你可 ...
- bash Shell 中如何实现条件判断之if判断
http://blog.51cto.com/lovelace/1211353 bash中如何实现条件判断?条件测试类型: 整数测试 字符测试 文件测试 一.条件测试的表达式: ...
- mybatis的配置文件中<selectKey>标签问题
1.mybatis的配置文件中,使用sequence生成主键 未执行add方法之前,主键未生成(null):刚执行add之后,主键即生成(212) 这里的重点是,一旦执行add方法,配置文件中的sel ...
随机推荐
- sass随笔
一.前期准备 sass基于ruby (1) 安装ruby 从http://rubyinstaller.org/downloads/下载 双击下载的程序进行安装,勾选如下图的选 ...
- CST,CET,UTC,GMT,DST,Unix时间戳几种常见时间概述与关系
1.UTC: Universal Time Coordinated 协调世界时,又称世界标准时间 多数的两地时间表都以GMT来表示,但也有些两地时间表上看不到GMT字样,出现的反而是UTC这3个英文字 ...
- Javascript的map与forEach的区别
原理: 高级浏览器支持forEach方法语法:forEach和map都支持2个参数:一个是回调函数(item,index,list)和上下文: forEach:用来遍历数组中的每一项:这个方法执行是没 ...
- 16 Javascript
网上找网页模板: 1.HTML模板 2.BootStrap 前面内容总结 HTML 标签:块级,行内 CSS 后台管理布局 position: fixed ---永远固定在窗口的某个位置 relat ...
- 笨办法学Python(十五)
习题 15: 读取文件 你已经学过了 raw_input 和 argv,这些是你开始学习读取文件的必备基础.你可能需要多多实验才能明白它的工作原理,所以你要细心做练习,并且仔细检查结果.处理文件需要非 ...
- 《转化:提升网站流量和转化率的技巧》:结合市场营销六阶段理论,以SEM为手段,提高网站转化率的技巧
全书结合市场营销的六阶段理论,讲述各阶段的营销方面的要点和网站上吸引访客的技巧.举了一些例子,列举了一些工具.当然都是美国市场中的例子和网站优化的工具. 没有太多的新意.没看过相关图书的可以看看.
- SQL-常用数据类型
整数除了 INT 外,还有 TINYINT.SMALLINT.MEDIUMINT.BIGINT. CHAR 和 VARCHAR 的区别: CHAR 的长度是固定的,而 VARCHAR 的长度是可以变化 ...
- 课程设计__继承与派生,重载<<
///继承与派生 #include <iostream> using namespace std; class Point { public: Point (,):x(a),y(b) {} ...
- 为什么实例没有prototype属性?什么时候对象会有prototype属性呢?
为什么实例没有prototype属性?什么时候对象会有prototype属性呢? javascript loudou 1月12日提问 关注 9 关注 收藏 6 收藏,554 浏览 问题对人有帮助,内容 ...
- 剑指offer 35 第一个只出现一次的字符
错误写法 class Solution { public: int FirstNotRepeatingChar(string str) { int length = str.size(); ) ; ] ...