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();
    }
     
  • 相关阅读:
    python操作mysql封装成类
    es 数据 导出 到 MySQL
    Elasticsearch的数据导出和导入操作(elasticdump工具),以及删除指定type的数据(delete-by-query插件)
    解决VM虚拟机中的ubuntu不能全屏的问题
    pandas操作,感觉不错,复制过来的
    BTree和B+Tree详解
    ant安装配置
    jmeter默认生成测试报告
    学习网站
    selenium多窗口切换(windows)
  • 原文地址:https://www.cnblogs.com/sujulin/p/7588741.html
Copyright © 2011-2022 走看看