关闭

ibatis-dynamic的用法

标签: ibatis
2168人阅读 评论(0) 收藏 举报
分类:

dynamic可以去除第一个prepend=”and”中的字符(这里为and),从而可以帮助你实现一些很实用的功能。具体情况如下:

1.使用dynamic

1.1 xml

select * from Person
        <dynamic prepend="where"> 
                <isNotNull property="name" prepend="and">
                    name=#name#
                </isNotNull>
                <isNotNull property="sex" prepend="and">
                    sex=#sex#
                </isNotNull>               
        </dynamic>

1.2 结果

当name、sex都非null时打出如下的sql语句:

select  Person  where (and) name= ? , and sex= ?

显然name前的and被自动去除了,很方便吧。

2.不使用dynamic

2.1 xml
如果我把dynamic 去掉就会变的很恶心,如下:

select * from Person       
                <isNotNull property="name" prepend="and">
                    name=#name#
                </isNotNull>
                <isNotNull property="sex" prepend="and">
                    sex=#sex#
                </isNotNull>     

2.2 结果
当name、sex都非null时打出如下的sql语句:

select  Person where and name= ? , and sex= ?
  显然name前多个and,sql语句错误。

3.总结
dynamic 会自动去除第一个 prepend=”and中的内容(这里为and),从而方便一些操作。

转自:http://chinazzlm.blog.163.com/blog/static/161843537201109101718665/

0
0
查看评论

ibatis (六) dynamic的用法

dynamic可以去除第一个prepend="and"中的字符(这里为and),从而可以帮助你实现一些很实用的功能。具体情况如下: 1.使用dynamic 1.1 xml select * from Person表 ...
  • jzy23682891
  • jzy23682891
  • 2011-12-22 11:44
  • 22977

mybati(ibatis)中的动态sql <dynamic prepend="where">的详解

ibatis的文档中,关于动态SQL的举例如下:  Java代码   "someName" parameterClass="Account" resultMap="accoun...
  • huyanzhiwei
  • huyanzhiwei
  • 2016-08-11 20:45
  • 1867

Ibatis-dynamic的用法

在Ibatis中是Ibatis的动态查询条件,根据该属性中所包含的元素进行判断是否执行某一条SQL语句。 1、使用dynamic时 select * from Person表
  • linguihaiRoger
  • linguihaiRoger
  • 2011-10-19 10:20
  • 6295

ibatis dynamic的用法

开源框架(17) 作者同类文章X [html] view plaincopyprint? dynamic可以去除第一个prepend="and"中的字符(这里为and),从而可以帮助你实现一些很实用的功能。具体情况如下:  ...
  • shixiaoguo90
  • shixiaoguo90
  • 2015-11-24 17:34
  • 1170

ibatis 中动态SQL查询和动态标签嵌套的使用

ibatis 动态查询 对于从事 Java EE 的开发人员来说,iBatis 是一个再熟悉不过的持久层框架了,在 Hibernate、JPA 这样的一站式对象 / 关系映射(O/R Mapping)解决方案盛行之前,iBaits 基本是持久层框架的不二选择。即使在持久层框架层出不穷的今天,iBa...
  • u014475796
  • u014475796
  • 2016-05-09 17:21
  • 6210

ibatis <dynamic> 标签 update 的相关问题总结

1.为了使用中 和其他地方出现不必要的bug  我们在定义map 或者 TO时 将所有的类型都定义为原生态的类型,比如定义INTEGER。 2.在写语句时很容易引入很难察觉的错误 比如“ : ” ,和“ : ” .这两个字符在.java 文件里面会区别非常明显,但是在xml中,肉眼是看不...
  • wangyang2698341
  • wangyang2698341
  • 2012-08-24 10:34
  • 7183

ibatis的dynamicSQL中,关于prepend的使用

ibatis的文档中,关于动态SQL的举例如下:  Java代码   "someName" parameterClass="Account" resultMap="accoun...
  • qq_16681169
  • qq_16681169
  • 2016-10-14 00:23
  • 570

ibatis-dynamic的用法

dynamic可以去除第一个prepend="and"中的字符(这里为and),从而可以帮助你实现一些很实用的功能。具体情况如下: 1.使用dynamic 1.1 xmlselect * from Person表       ...
  • c466254931
  • c466254931
  • 2014-03-20 17:26
  • 603

ibatis dynamic条件语句问题

ibatis 的dynamic这样写会有问题,如果有条件成立,出现where 后面会少一个and,这是因为ibatis的dynamic语句会默认把第一个条件成立的predend字段去掉,比如如果下面两个条件都成立,那么最终的语句会变成where status=status的值 and name=na...
  • zhongweijian
  • zhongweijian
  • 2009-12-09 21:04
  • 4397

mybatis(ibatis)中的动态sql<dynamic prepend="where"><isNotEmpty>的讲解

ibatis的文档中,关于动态SQL的举例如下:  Java代码   "someName" parameterClass="Account" resultMap="accoun...
  • huyanzhiwei
  • huyanzhiwei
  • 2016-08-11 20:31
  • 6467
    个人资料
    • 访问:71283次
    • 积分:996
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:100篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论