• 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();
    }
     
  • 相关阅读:
    Java反射机制DOME
    Contos7 装bcm4312无线网卡驱动
    windows8.1+centos7双系统(装完centos后无win8引导)
    request+response
    HTTP协议+servlet配置
    类加载和反射
    线程池+线程安全
    IO流之Properties(String键值对)+序列流+打印流+commons-IO(最终流程)
    IO流之字节流 +字符流 (复制文件)
    IO流
  • 原文地址:https://www.cnblogs.com/sujulin/p/7588772.html
Copyright © 2020-2023  润新知