zoukankan      html  css  js  c++  java
  • mybatis中的智能标签之一

    智能标签if-where和智能标签choose(when , otherwise)

    接口:
    /**
    * 智能标签if
    * @param student
    * @return
    */
    public List<Student> findByIf(Student student);

    /**
    * 智能标签choose
    * @param student
    * @return
    */
    public List<Student> findByChoose(Student student);


    xml文件(小配置)
    <!--智能标签if-->
    <select id="findByIf" resultType="student">
    SELECT *from Student
    <where>
    <if test="name!=null">
    AND name LIKE '%' #{name } '%'
    </if>
    <if test="age!=null">
    AND age>#{age}
    </if>
    </where>
    </select>

    <!--智能标签choose-->
    <select id="findByChoose" resultType="student">
    SELECT *from Student
    <where>
    <choose>
    <when test="name!=null">
    AND name LIKE '%' #{name } '%'
    </when>
    <when test="age">
    AND age>#{age}
    </when>
    <otherwise>
    1=1
    </otherwise>
    </choose>
    </where>
    </select>


    测试类:
    /**
    * 智能标签if
    */
    @Test
    public void findByIf(){
    SqlSession session = MyBatisUtil.getSession();
    IStudentDAO mapper = session.getMapper(IStudentDAO.class);
    Student student=new Student();
    //student.setName("张");
    student.setAge(20);
    List<Student> list = mapper.findByIf(student);
    for (Student item:list){
    System.out.println(item.getName());
    }
    session.commit();
    session.close();
    }





    /**
    * 智能标签choose
    */
    @Test
    public void findByChoose(){
    SqlSession session = MyBatisUtil.getSession();
    IStudentDAO mapper = session.getMapper(IStudentDAO.class);
    Student student=new Student();
    //student.setName("张");
    //student.setAge(20);
    List<Student> list = mapper.findByChoose(student);
    for (Student item:list){
    System.out.println(item.getName());
    }
    session.commit();
    session.close();
    }
     
  • 相关阅读:
    MySQL复制表结构和内容到另一张表中的SQL
    Page Cache(页缓存)
    mmap 与 munmap
    Shenandoah 与 ZGC
    InfluxDB入门
    SparkSQL 疫情Demo练习
    CyclicBarrier 解读
    mysql存储过程
    Kibana7.3.2与ElasticSearch7.3.2的集成
    Greenplum简介
  • 原文地址:https://www.cnblogs.com/sujulin/p/7588741.html
Copyright © 2011-2022 走看看