zoukankan      html  css  js  c++  java
  • 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();
    }
     
  • 相关阅读:
    修改msn密碼的地址
    Global.asax.cs中的方法的含义 Application_AcquireRequestState验证Session[轉]
    工作筆記DMIS項目
    给创业者的忠告
    Windows 2008 / Windows 7 x64: The ‘Microsoft.Jet.OLEDB.4.0′ provider is not registered on the local machine.
    Case Study: Nick Leeson and The Barings Debacle
    如何减小MS SQL Server的Log文件尺寸
    如何使windows7的默认共享可以被访问
    Android 开发人员必须掌握的 10 个开发工具
    在Windows Server 2008 R2上设置FTP 服务
  • 原文地址:https://www.cnblogs.com/sujulin/p/7588772.html
Copyright © 2011-2022 走看看