zoukankan      html  css  js  c++  java
  • MyBatis 动态sql语句

    简述

      sql语句是支持动态查询的,支持if,when等标签进行判断。

      我们现在新建个工程用于动态sql语句的实现。

    <if>标签

      首先我们在dao接口新建个方法,这个方法用于根据传入的参数进行查询

      然后我们在xml文档写我们的配置,在写sql语句的时候我们就要用到动态sql的标签<if>,if标签里面的test就是我们要判断的条件,这里需要注意这是sql的判断,与要写成and不能写&&

       然后我们来写测试方法

      执行后没有问题

      如果我们有两个判断条件,userName和sex非空时就作为判断条件,我们就再加上一个if标签

      现在我们在测试方法多加个sex判断

       现在查询的就是名字叫老王且性别是女的元组

    <where>标签

      用where也能实现多个if的情况,where标签可以省略1=1,本质是mybatis自动帮你加1=1

      结果也是一样的

    <foreach>标签

       在实际操作中我们会有查询条件为集合的需求,例如要找id在集合(42,43,50)里出现的元组,这个查询用sql语句很简单就能写出来

      那在mybatis怎么实现呢?我们在之前写的queryvo类里面加个list用于表示查询条件的集合,并生成它的get和set方法

       然后我们来写dao接口的方法

      

      再来写xml的配置,这里用到我们的foreach标签

      collection:代表要遍历的集合元素,注意编写时不要写#}
      open:代表语句的开始部分
      close:代表结束部分
      item:代表遍历集合的每个元素,生成的变量名sperator代表分隔符

      然后我们来写测试类,很简单没啥要说的

       跑出来没有问题

       这里有个需要注意的点就是#{}里面写什么是取决于item里面写的什么,item写uid,井号里面就要写uid

      以上就是sql动态语句的实现了,因为学校上课完全没有讲,所以这篇博客写得极其缓慢,现在写完了真爽快!

      2020/8/26 23:00:37

       

      

  • 相关阅读:
    Spring 事务全解析
    oracle trigger pl/sql
    reflection
    JAXP(Java API XML Parser)
    log4j扩展后的Appender
    Hibernate sql查询
    tt,mongodb主从启动命令
    4种挂隐藏链接的代码
    Delphi过程函数传递参数的几种方式
    学校Win7 KMS激活服务器已经可以用了
  • 原文地址:https://www.cnblogs.com/qq2210446939/p/13556450.html
Copyright © 2011-2022 走看看