• mybatis中的智能标签之二


    智能标签foreach-Array, 智能标签foreach-List数据组,智能标签 foreach list自定义类型

    接口:
    /**
    * 智能标签foreach-Array
    * @param num
    * @return
    */
    public List<Student> findByForeachArray(int[] num);

    /**
    * 智能标签foreach-List
    * @param list
    * @return
    */
    public List<Student> findByForeachList(List<Integer> list);


    /**
    * 智能标签 foreach list自定义类型
    * @param list
    * @return
    */
    public List<Student> findByForeachListStudent(List<Student> list);





    xml文件(小配置)
    <!--智能标签foreach-array-->
    <select id="findByForeachArray" resultType="student">
    SELECT *from Student
    <where>
    <if test="array.length>0">
    id in
    <foreach collection="array" open="(" close=")" separator="," item="id">
    #{id}
    </foreach>
    </if>
    </where>
    </select>

    <!--智能标签foreach-list数组-->
    <select id="findByForeachList" resultType="student">
    SELECT *from Student
    <where>
    <if test="list.size>0">
    id in
    <foreach collection="list" open="(" close=")" separator="," item="id">
    #{id}
    </foreach>
    </if>
    </where>
    </select>

    <!--智能标签foreach-list自定义类型-->
    <select id="findByForeachListStudent" resultType="student">
    SELECT *from Student
    <where>
    <if test="list.size>0">
    id in
    <foreach collection="list" open="(" close=")" separator="," item="it">
    #{it.id}
    </foreach>
    </if>
    </where>
    </select>





    测试类:

    /**
    * 智能标签foreach-array
    */
    @Test
    public void findByForeachArray(){
    SqlSession session = MyBatisUtil.getSession();
    IStudentDAO mapper = session.getMapper(IStudentDAO.class);
    int[] num={2,3,4};
    List<Student> list = mapper.findByForeachArray(num);
    for (Student item:list){
    System.out.println(item.getName());
    }
    session.commit();
    session.close();
    }




    /**
    * 智能标签foreach-list数组
    */
    @Test
    public void findByForeachList(){
    SqlSession session = MyBatisUtil.getSession();
    IStudentDAO mapper = session.getMapper(IStudentDAO.class);
    List<Integer> list=new ArrayList<Integer>();
    list.add(2);
    list.add(9);
    List<Student> lists = mapper.findByForeachList(list);
    for (Student item:lists){
    System.out.println(item.getName());
    }
    session.commit();
    session.close();
    }




    /**
    * 智能标签foreach-list自定义类型
    */
    @Test
    public void findByForeachListStudent(){
    SqlSession session = MyBatisUtil.getSession();
    IStudentDAO mapper = session.getMapper(IStudentDAO.class);
    List<Student> list=new ArrayList<Student>();
    Student student=new Student();
    student.setId(2);
    Student students=new Student();
    students.setId(9);
    list.add(student);
    list.add(students);
    List<Student> lists = mapper.findByForeachListStudent(list);
    for (Student item:lists){
    System.out.println(item.getName());
    }
    session.commit();
    session.close();
    }
     
  • 相关阅读:
    Delphi Code Editor 之 几个特性(转)
    如何访问局域网的Access数据库?
    Delphi Live Bindings 初探
    重装Delphi10.2的IDE必要设置
    TClientDataSet数据源设置
    js删除数组里的某个数据
    初识localstorage用法
    Component template should contain exactly one root element. If you are using v-if on multiple elements, use v-else-if to chain them instead.
    css实现文本溢出用...显示
    原生js和jquery
  • 原文地址:https://www.cnblogs.com/sujulin/p/7588772.html
Copyright © 2020-2023  润新知