首页 > 代码库 > Mybatis in 查询的实现
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()); } }
试了下, 可以了....
Mybatis in 查询的实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。