<!--
在ibatis中使用安全的拼接语句,动态查询
ibatis比JDBC的优势之一,安全高效
说明文字在注释中
-->
<
select
id
="selectAllProducts"
parameterClass
="Product"
resultMap
="ProductResult"
>
select id,note from Product
<
dynamic
prepend
="WHERE"
>
<!--
isNotNull判断参数是否存在,Integer类型
-->
<
isNotNull
property
="id"
>
<!--
isGreaterThan判断参数是否大于compareValue,isGreaterEquals是大于等于
-->
<
isGreaterThan
prepend
=" and "
property
="id"
compareValue
="0"
>
id = #id#
</
isGreaterThan
>
</
isNotNull
>
<!--
isNotEmpty判断字串不为空,isEmpty可以判断字串为空
-->
<
isNotEmpty
prepend
=" and "
property
="note"
>
<!--
模糊查询不能用#,#在是用prepareStatement的?插入参数,$是文本替换
-->
note like '%$note$%'
</
isNotEmpty
>
</
dynamic
>
</
select
>
用Map传参数
<
select
id
="selectAllProducts"
parameterClass
="java.util.HashMap"
resultMap
="ProductResult"
>
select id,note from Product
<
dynamic
prepend
="WHERE"
>
<!--
isPropertyAvailable判断属性是否有效
-->
<
isPropertyAvailable
property
="id"
>
<
isNotNull
property
="id"
>
<!--
isLessThan判断参数是否小于compareValue,isLessEquals是小于等于
-->
<
isLessThan
prepend
=" and "
property
="id"
compareValue
="10"
>
id = #id#
</
isLessThan
>
</
isNotNull
>
</
isPropertyAvailable
>
</
dynamic
>
</
select
>
<!--
------------------------------------------------------------------几个常用属性
-->
<
isPropertyAvailable
>
属性是存在
<
isNotPropertyAvailable
>
属性不存在
<
isNull
>
属性值是null
<
isEmpty
>
判断Collection.size
<
1
或String.length()<1
<isEqual
>
等于
<
isNotEqual
>
不等于
<
isGreaterThan
>
大于
<
isGreaterEqual
>
大于等于
<
isLessThan
>
小于
<
isLessEqual
>
小于等于
分享到:
相关推荐
ibatis动态多条件组合查询 实例 说明
组合键值或多个复杂参数属性 支持Parameter Map和Result Map的数据类型 缓存Mapped Statement结果集 只读 VS 可读写 Serializable可读写缓存 缓存类型 动态Mapped Statement 二元条件元素 一元条件元素 其他元素 ...
SQL Maps (com.ibatis.sqlmap.*)......................................................................................................5 SQL Map的概念........................................................
集合在遍历过程中,有时需要对符合一定条件的元素进行删除,下列哪些说法是正确的:B A .在 foreach 循环里进行元素的 remove操作。 B .使用Iterator方式,如果有并发,需要对Iterator对象加锁。 C .Iterator...
16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 17.介绍一下Hibernate的二级缓存 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message 属性, ...
16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 123 17.介绍一下Hibernate的二级缓存 123 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message ...
16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 123 17.介绍一下Hibernate的二级缓存 123 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message ...
16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 123 17.介绍一下Hibernate的二级缓存 123 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message ...
16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 123 17.介绍一下Hibernate的二级缓存 123 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message ...
16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 123 17.介绍一下Hibernate的二级缓存 123 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message ...
16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 123 17.介绍一下Hibernate的二级缓存 123 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message...
16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 135 17.介绍一下Hibernate的二级缓存 135 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message ...
16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决; 123 17.介绍一下Hibernate的二级缓存 123 18、Spring 的依赖注入是什么意思? 给一个 Bean 的 message ...
1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? ...... 7 2、Java 有没有 goto? .......................................................................................................