ibatIS中的isNotNull、isEqual、isEmpty

isNull判断property字段是否是null,用isEmpty更方便,包含了null和空字符串

例子一:
isEqual相当于equals,数字用得多些,一般都是判断状态值
<isEqual property="state" compareValue="0">
< /isEqual>

<isEqual property="state" compareProperty="nextState">
< /isEqual>

例子一:

传入的map或者类的属性name等于"1"吗,是就附加and和vvvv = ‘哈哈‘
<isEqual property="name" compareValue="1" prepend="and">
vvvv = ‘哈哈‘
< /isEqual>

传入的map或者类的属性name是null吗,是就附加and和vvvv = null
< isNull property="name" prepend="and">
vvvv = null
< /isNull>

时间: 2024-10-13 03:09:19

ibatIS中的isNotNull、isEqual、isEmpty的相关文章

在ibatis中isNotNull和isNotEmpty的区别

Unary tags examine the state of a bean property and do not perform comparisonsagainst any other values. The body content is included if the result of the state istrue. All unary tags share the property attribute. The property attribute is used tospec

Ibatis中sqlmap参数map中还需要套list的情况如何写?

原始需求: 有若干个参数,需要作为ibatis拼装sql的参数传入,但是有个参数的值比较特殊,是若干种枚举值.具体到这个case,就是有有限个namespace.我每次需要通过传入多个namespace来查询DB记录. 准备需要传入sqlmap的参数的示例代码如下: Java代码   Map<String,Object> ibatisParam = new HashMap<String, Object>( ); ibatisParam.put( "keyA",&

ibatis中使用缓存

简单在ibatis中使用cache 首先设置SqlMapConfig.xml中<settings/>节点的属性cacheModelsEnabled="true"    然后在具体sqlmap文件中书写<cacheModel>    <cacheModel id="product-cache" type="LRU">       <flushInterval hours="24"/>

ibatis中 $ 于 # 的 区别?

转自: http://www.blogjava.net/lsbwahaha/archive/2009/04/16/266026.html 一个项目中在写ibatis中的sql语句时,where user_id in (#user_id_list# ), 运行时总是不行,后来上网查了查,才知道这里不该用#,而应该用$,随即查了下#与$的区别. 总结如下: 1.#是把传入的数据当作字符串,如#user_id_list#传入的是1,2,则sql语句生成是这样,in ('1,2') ,当然不可以 2.$

【设计模式】iBatis中的工厂模式

该博文主要讲解iBatis中使用到的简单工厂模式和工厂模式. 1. iBatis中使用到的简单工厂模式 简单来说工厂的作用就是用来生产产品,通常工厂会制造一个产品的原型,这样就可以生产出许多一样的产品. 简单工厂模式的原理就是先给出一个原型,再根据属性的不同生产出不同的品种.简单工厂模式的结构图: Product:抽象产品角色,它定义了这个产品的通用属性,相当于模子,定义了一些功能,这些功能由子类去实现. ConcreteProduct:具体产品类,实现了抽象产品所定义的功能,每个Concret

ibatis 中 $与#的区别

在sql配置中比如in(#rewr#) 与in ($rewr$) 在Ibatis中我们使用SqlMap进行Sql查询时需要引用参数,在参数引用中遇到的符号#和$之间的区分为,#可以进行与编译,进行类型匹配,而$不进行数据类型匹配,例如: select * from table where id = #id# ,其中如果字段id为字符型,那么#id#表示的就是'id'类型,如果id为整型,那么#id#就是id类型. select * from table where id = $id$ ,如果字段

ibatis中的参数

1.查看追踪的Sql问题:@param0没有被真是参数值替换掉 2.c#的转义字符 转义字符 字符名称 \' 单引号 \" 双引号 \\ 反斜杠 \0 空字符 \a 警报符 \b 退格 \f 换页 \n 换行 \r 回车 \t 水平制表 \v 垂直制表 3.ibatis 中,不能直接使用非list的结构,例如 ReceiverList对应的Value "{\"ReceiverList\":\"\'cb51365b-f2c3-48d0-8a54-666af2

ibatis中如何调用出参为游标的存储过程

1)创建出参为游标的存储过程 --创建一个产品合作伙伴的package create or replace package XXX.product_partner_proc is -- Author  : XXX -- Created : 2014/11/11 9:39:29 -- Purpose : XXX -- Public function and procedure declarations type T_CURSOR is ref cursor; procedure get_sale_

[转]ibatis中井号跟美元符号区别(#、$)

Mybatis中如何在SQL语句表名中使用参数 insert into prefix_${table_name} (a, b, c) values (#{a}, #{b}, #{c}) ${} 表示直接使用字面量(literal value) #{} 表示这个是个参数 如果 table_name 是 “ABC” 则 ${table_name} 是 ABC #{table_name} 是 “ABC" Java代码   1.#可以进行预编译,进行类型匹配,#变量名# 会转化为 jdbc 的 类型 $