Mybatis学习第4节 -- 多参数传递

Posted 积水成渊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis学习第4节 -- 多参数传递相关的知识,希望对你有一定的参考价值。

第一种方法使用索引

一般不使用,不记录

第二种方法使用注解

接口
List<Shop> getShopListByPageAno(@Param(value = "offset") int offset, @Param(value = "pagesize") int pagesize);
mapper
<select id="getShopListByPageAno"  resultMap="simpleResultMap" >
select * from tb_shop ORDER BY CONVERT(shop_name USING gbk) limit #{offset}, #{pagesize}
</select>
用例
@Test
public void testGetShopListByPageAno() {
String template = "查询结果: %s";
SqlSession session = MyBatisUtil.getSqlSession();
ShopMapper mapper = session.getMapper(ShopMapper.class);
System.out.printf(template, mapper.getShopListByPageAno(2, 1));
session.close();
}

第三种方法, 通过Map来传递

接口
List<Shop> getShopListByPageMap(Map<String, Object> map);
mapper
<select id="getShopListByPageMap"  resultMap="simpleResultMap" >
select * from tb_shop ORDER BY CONVERT(shop_name USING gbk) limit #{offset}, #{pagesize}
</select>
用例
@Test
public void testGetShopListByPage() {
String template = "查询结果: %s";
SqlSession session = MyBatisUtil.getSqlSession();
ShopMapper mapper = session.getMapper(ShopMapper.class);

Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("offset", 2);
paramMap.put("pagesize", 2);

System.out.printf(template, mapper.getShopListByPageMap(paramMap));
session.close();
}

以上是关于Mybatis学习第4节 -- 多参数传递的主要内容,如果未能解决你的问题,请参考以下文章

mybatis学习

Mybatis学习第19节 -- 嵌套查询一对多的配置

Mybatis--02

mybatis学习(23):分页1 多参数传递(索引方式)

Mybatis学习第22节 -- 高级结果映射 构造方法映射

Mybatis传递多个参数的4种方式(干货)