Mybatis笔记: 返回Map & List<Map>动态列数据集

22 篇文章 0 订阅

        我们做查询/报表的时候多用map/list<map>来实现查询数据的返回,那么mybatis如何实现?

        1/在mapper.xml里面增加两个select function, 他们的resultType都指定为HashMap:

<select id="selectListMap" parameterType="java.lang.String" resultType="java.util.HashMap">
      select
      fa_login, fa_phone, fa_name, fa_status, fa_type, fa_create_by, fa_create_dt, fa_update_by, 
      fa_update_dt, fa_email, fa_passwd, fa_remark, fa_staff_id, fa_last_notify
      from public.ta_user
      where fa_login=#{faLogin,jdbcType=VARCHAR}
  </select>
  <select id="selectMap" parameterType="java.lang.String" resultType="java.util.HashMap">
      select 
      fa_login, fa_phone, fa_name, fa_status, fa_type, fa_create_by, fa_create_dt, fa_update_by, 
      fa_update_dt, fa_email, fa_passwd, fa_remark, fa_staff_id, fa_last_notify
      from public.ta_user
      where fa_login=#{faLogin,jdbcType=VARCHAR}
  </select>

修改interface增加两个接口方法, 

List<Map<String,Object>> selectListMap(String faLogin);
Map<String,Object> selectMap(String faLogin);


测试:

@Test
	public void testMapAndListMap(){
		SqlSession lvSess=MybatisUtils.getSession();
		try
		{
			
			TaUserMapper lvUserMapper=lvSess.getMapper(TaUserMapper.class);
			Map<String,Object> lvMap= lvUserMapper.selectMap("admin");			
			System.out.println(lvMap);			
			
			List<Map<String,Object>> lvListMap=lvUserMapper.selectListMap("admin");
			System.out.println(lvListMap);
		}
		finally{
			MybatisUtils.closeSession(lvSess);
		}
	}

总结: 两者在xml里面的resulttype均指定为hashmap,但interface里面,则一个是返回map,一个是返回list<map>即可 .



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值