view plain copy print?

  1. dynamic可以去除第一个prepend="and"中的字符(这里为and),从而可以帮助你实现一些很实用的功能。具体情况如下:
  2. 1.使用dynamic
  3. 1.1 xml
  4. select * from Person表
  5. <dynamic prepend="where">
  6. <isNotNull property="name" prepend="and">
  7. name=#name#
  8. </isNotNull>
  9. <isNotNull property="sex" prepend="and">
  10. sex=#sex#
  11. </isNotNull>
  12. </dynamic>
  13. 1.2 结果
  14. 当name、sex都非null时打出如下的sql语句:
  15. select Person表 where (and) name= ? , and sex= ?
  16. 显然name前的and被自动去除了,很方便吧。
  17. 2.不使用dynamic
  18. 2.1 xml
  19. 如果我把dynamic 去掉就会变的很恶心,如下:
  20. select * from Person表
  21. <isNotNull property="name" prepend="and">
  22. name=#name#
  23. </isNotNull>
  24. <isNotNull property="sex" prepend="and">
  25. sex=#sex#
  26. </isNotNull>
  27. 2.2 结果
  28. 当name、sex都非null时打出如下的sql语句:
  29. select Person表 where and name= ? , and sex= ?
  30. 显然name前多个and,sql语句错误。
  31. 3.总结
  32. dynamic 会自动去除第一个 prepend="and中的内容(这里为and),从而方便一些操作。

解決and存在問題 在开发过程 中 sql 语句后面写上where 1=1

这样就算不适用dynamic 也不需要消除and 就可以使用sql语句不会报错

SELECT *
   FROM (SELECT ROWS_.*, ROWNUM ROWNUM_
           FROM (select user_id,
                        user_name,
                        status,
                        user_type,
                        organ_id,
                        login_name,
                        password,
                        tel,
                        email,
                        sex
                   from sys_user
                  where 1 = 1
                    and sys_user.user_id = 114833
                  order by user_id) ROWS_
          WHERE ROWNUM <= 10)
  WHERE ROWNUM_ >= 1

ibatis (六) dynamic的用法的更多相关文章

  1. ibatis dynamic的用法

    <select id="idididid" resultClass="java.uitl.HashMap" parameterClass="ja ...

  2. iBatis一些非见用法(相当实用)

     兼顾效率,iBatis一些非见用法(10条) 2009-09-18 10:33:03 标签:iBatis 休闲 职场 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声 ...

  3. Ibatis动态(dynamic)查询

     Ibatis的动态查询使得数据操作变得非常的灵活,下次举出了常用的动态查询的属性信息: Ibatis配置信息 <!-- Dynamic Sql --> <typeAlias a ...

  4. ibatis中iterate的用法(conjunction="or" ",")

    例子一 查询条件dto public class queryCondition{ private String[] stuIds; private String name;} 查询sqlMap < ...

  5. @property、@synthesize和dynamic的用法

    原文:  http://blog.csdn.net/hherima/article/details/8622948 @代表“Objective-C”的标志,证明您正在使用Objective-C语言 O ...

  6. var,dynamic的用法

    private void Form1_Load(object sender, EventArgs e) { var dt = Getuser() as IEnumerable<dynamic&g ...

  7. ibatis.net:惯用法

    使用<![CDATA[]]>保持SQL格式 IN 查询

  8. 理解C# 4 dynamic(1) - var, object, dynamic的区别以及dynamic的使用

    阅读目录: 一. 为什么是它们三个 二. 能够任意赋值的原因 三. dynamic的用法 四. 使用dynamic的注意事项 一. 为什么是它们三个? 拿这三者比较的原因是它们在使用的时候非常相似.你 ...

  9. C#dynamic关键字(1)

    一.object,var,dynamic的区别 static void Main() { //var是C# 3中引入的,其实它仅仅只是一个语法糖. var本身并不是一种类型, 其它两者object和d ...

随机推荐

  1. Scrapy学习篇(十一)之设置随机User-Agent

    大多数情况下,网站都会根据我们的请求头信息来区分你是不是一个爬虫程序,如果一旦识别出这是一个爬虫程序,很容易就会拒绝我们的请求,因此我们需要给我们的爬虫手动添加请求头信息,来模拟浏览器的行为,但是当我 ...

  2. Backbone 学习总结

    1.Backbone描述 官网描述:(1)Provides client-side app structure (2)Models to repents data (3)View to hook up ...

  3. 反序列化和序列化xml使用反射处理节点的属性

    当一个xml中有大量的属性XmlAttribute需要序列化和反序列化,通常需要复制粘贴大量的如下代码,显得很丑陋,而且容易出错: XmlAttribute attr = Doc.CreateAttr ...

  4. 性能测试day06_需求设计的学习(性能重中之重,思维方向永远重于工具)

    今天接着来学习下性能知识,本来是应该先学习一下LR的用法的,不过听完云层大大的课之后,我感觉工具没有这一篇来的重要,我们知道性能有三大步骤:负载->监控->调优,但是在这个之前我们首先要搞 ...

  5. Python笔记:深浅拷贝

    1.赋值操作两者是同一数据,其内存地址一样.适用于list.dict.set数据类型. 2.copy是浅拷贝,只能拷贝嵌套数据的第一层数据,嵌套的数据与赋值操作相同,其内存地址一样,当一个被更改,其他 ...

  6. SpringBoot 之jsp

    Boot 内嵌的tomcat 是不支持jsp 的, jetty 也是. 虽然boot也是有默认配置一个InternalResourceViewResolver ,但是它并不像我们在springmvc ...

  7. python——vs2017安装python库时,提示pip指令问题。

    需要跟新pip指令 方法: 第一步:打开vs2017 后新建一个python 文件 后面如图 点击红色部分 2.在框中输入pip之后更新即可 如图 3.问题解决 倘若还有问题 欢迎分享

  8. leetcode72

    class Solution { private: ][]; public: int minDistance(string word1, string word2) { int len1 = word ...

  9. Django之前后端交互使用ajax的方式

    1. 在项目中前后端数据相互是一种常态, 前后端交互使用的是ajax请求和form表单的请求两种方式" ajax与form表单的区别在于: form 是整个页面刷新提交的,  但是ajax ...

  10. ODPS SQL <for 数据操作语言DML>

    基本操作: 查询: SELECT [ALL | DISTINCT] select_expr, select_expr, ... FROM table_reference [WHERE where_co ...