• Mybatis in 查询的实现


    兀的一看,这个问题非常的简单,可是当baidu出来的结果就让人大失所望了.

    baidu的结果分为2种

    1.只传一个参数的话,可以用list或者array,这种比较好理解

    2.传多个参数的话,竟然只能用map来包含多个参数,那不是说我本来传到service层的pojo对象,还要转化成map才能用,这样也太不智能了...

    baidu了半天,发现都是一篇文章转来转去,就这么两种说法,mybatis的官方文档对这个问题只字未提.

    于是我就抱着试试看的态度写了个junit的test case尝试一下.

    mapper文件:

     <select id="getTestProjectList" parameterType="com.goldwind.po.ProjectVo" resultType="com.goldwind.po.ProjectExtend">
            select
                *
            from
                v_project        
            where id in
            <foreach item="item" index="index" collection="ids" open="(" separator="," close=")">  
                #{item}  
            </foreach>
        </select>    
    

    mapper.xml和service.java略过不提

    在junit里面直接写用例:

    @Test
        public void testMybatisInQuery()
        {
            ProjectVo projectVo = new ProjectVo();
            
            List<Integer> ids = new ArrayList<Integer>();
            ids.add(1);
            ids.add(2);
            
            projectVo.setIds(ids);
            
            List<ProjectExtend> projectList = projectService.getTestProjectList(projectVo);
            
            for(ProjectExtend p : projectList)
            {
                System.out.println(p.toString());
            }
        }

    试了下, 可以了....

      

  • 相关阅读:
    2017.4.6下午
    2017.4.6上午
    2017.3.31下午
    2017.4.5下午
    2017.4.5上午
    2017.4.1上午
    2017.3.31上午
    2017.3.28下午
    2017.3.28上午
    3.28上午
  • 原文地址:https://www.cnblogs.com/raspberry/p/5996105.html
Copyright © 2020-2023  润新知