随笔 - 16  文章 - 0  评论 - 0  阅读 - 22156

Mybatis in 查询的实现

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

baidu的结果分为2种

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

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

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

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

mapper文件:

1
2
3
4
5
6
7
8
9
10
<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());
        }
    }
复制代码

试了下, 可以了....

 

  

posted on   树莓派当下载机  阅读(239)  评论(0编辑  收藏  举报
努力加载评论中...

点击右上角即可分享
微信分享提示