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. Android之sqlite数据库版本升级和降级的处理(onUpgrade和onDowngrade)

    一.SQLite升级和降级需要考虑的细节 ①  SQLite升级: v3.0数据库版本 [onUpgrade 情况:n-1,onCreate 情况:1]                        ...

  2. Docker搭建PXC集群

    如何创建MySQL的PXC集群 下载PXC集群镜像文件 下载 docker pull percona/percona-xtradb-cluster 重命名 [root@hongshaorou ~]# ...

  3. [SQL]触发器把自增ID的值赋值给另外一个字段

    ALTER TRIGGER test_Rate ON dbo.tRate FOR insert AS declare @errno ) begin UPDATE dbo.tRate SET vcUpd ...

  4. Vue2.0学习笔记

    环境搭建 vue-cli@3    vue-cli@2.X npm i -g @vue/cli 模板语法 文本 <span>Message: {{ msg }}</span> ...

  5. k8s学习笔记之一:kubernetes简介

    一.虚拟化技术 1.什么是虚拟化技术 虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立 ...

  6. 八(第一篇)、主体结构元素——article元素、section元素

    article元素 article元素代表文档.页面或应用程序中独立的.完整的.可以独自被外部引用的内容. 他可以是一篇博客或者报刊中的文章,一篇轮胎帖子.一段用户评论或独立的插件,或其他任何独立的插 ...

  7. pycharm 调试django项目时,debug断点没反应???

    入门python.django框架时,使用pycharm断点调试时,发现打的断点没反应,不起作用!上网上稍微一查,90%的都差不多,需要新建一个python程序,重新配置一遍,的确可以成功! 操作链接 ...

  8. SpringMVC 启动流程

    首先看一下Web应用部署初始化过程 (Web Application Deployement),官方文档说明: Web Application Deployment When a web applic ...

  9. oracle入坑日记<一> 安装

    学习日记系列(前辈/大神勿喷) 一.下载 下载地址:http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads ...

  10. 使用Jenkins部署Python项目

    廖大使用Fabric部署的.我使用Jenkins试试部署过程.虽然说是用python项目部署测试的,但其他项目也是同理的. 参考Jenkins+Python部署完整版,不过安装方式不同. 安装tomc ...