博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态sql
阅读量:6655 次
发布时间:2019-06-25

本文共 676 字,大约阅读时间需要 2 分钟。

很多情况下,比如根据业务的需要,如果输入不同查询条件,则生成不同的执行

SQL查询语句,对于这种情况需要使用动态SQL来完成。再比如,对于分页的情况,对于不同的表,必定存在不同的字段,因此使用静态SQL则只

能针对某几个特定的表来形成分页。而使用动态的SQL,则可以对不同的表,不同的字段进行不同的分页。这些情况的处理通常都是用动态SQL来

完成。本文讲述了动态SQL的日常用法。

 

 1.静态SQL

       静态SQL通常用于完成可以确定的任务。比如传递部门号调用存储过程,返回该部门的所有雇员及薪水信息,则该语句为

           SELECT ename,sal INTO lv_ename,lv_sal FROM scott.emp WHERE deptno=&dno;

       对于上述类似的DML语句在第一次运行时进行编译,而后续再次调用,则不再编译该过程。即一次编译,多次调用,使用的相同的执行

        计划。此种方式被称之为使用的是静态的SQL。

3.MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑。

  • if
  • choose(when,otherwise)
  • trim
  • where
  • set
  • foreach

5.众所周知,mybatis的传入参数可以是各种的基本数据类型:包含int,String,Date等。基本数据类型作为传参,只能传入一个。通过#{参数名} 即可获取传入的值 ,复杂数据类型:包含JAVA实体类、Map。通过#{属性名}或#{map的KeyName}即可获取传入的值,但是如果想传入一个collection怎么办呢?

转载地址:http://mnjto.baihongyu.com/

你可能感兴趣的文章
Java获取客户端IP
查看>>
调整plsql开发工具的背景色
查看>>
jsp的两种跳转方式和区别
查看>>
使用JQuery UI selectmenu, onchange事件失效
查看>>
dig理解dns主备 - 阿权的书房
查看>>
我如何学习:不要把智慧浪费在抄袭上
查看>>
bzoj 5120 [2017国家集训队测试]无限之环——网络流
查看>>
bzoj 4373 算术天才⑨与等差数列——线段树+set
查看>>
Yii学习系列:Yii视频讲义——前篇(转)
查看>>
【转】 数据库备份与还原处理
查看>>
get application power
查看>>
Ubuntu14.04+RabbitMQ3.6.3+Golang的最佳实践
查看>>
移动端开发经验小结
查看>>
浅谈CLR
查看>>
C# parser JSON get Key and value
查看>>
关于log4net
查看>>
http 协议里的 200、301、302、401、403、405、500 分别代表什么?
查看>>
时代亿信 终端安全登录产品
查看>>
存储字节kb,mb,gb,tb转换代码
查看>>
Spiral Matrix I II
查看>>