ibatis resultclass java.util.list_ibatIS中返回结果map 并使用list获取

ibatIS中返回结果map 并使用list获取

原文出处:http://xiaoliang.556688.blog.163.com/blog/static/1145561892012102255520567/

ibatis作为一个轻量级的orm工具现在非常流行,我在使用中发现,有时仅仅希望返回一个类型为map的list就可以了,

比如简单的查询统计之类的,没有必要定义太多的pojo,因此想能不能在ibatis中直接传入sql语句来执行,然后返回map呢?

从网上搜了一下, 还真有,实验成功后总结一下,大家共同进步。

其实很简单,就是在配置文件中添加以下的配置,

$sql$

]]>

select ID,USERNAME,PASSWORD,CREATETIME from Account

]]>

注意以上配置中的 remapResults="true",之前就因为没有加这个参数,导致使用不的sql查询时出错的问题。

使用方法就更简单了,拼好sql语句后,调用

sqlMapper.queryForList("sqlQuery", sql)就得到了查询结果,

当然这个结果为List,并且list中的元素为Map类型,循环List,就得到查询明细。

以上方法对 于分类汇总类的查询统计功能尤其实用。如果只是count()的话,就取List的第一个元素就行了。

我们可以把这个方法抽出来写到一个util类中,方法如下

publicstaticListqueryForList(Stringsql){

Listrtn=null;

try{

rtn=sqlMapper.queryForList("sqlQuery",sql);

}catch(SQLExceptionsqle){

sqle.printStackTrace();

}

returnrtn;

}

@SuppressWarnings("unchecked")

@Override

publicList>getMapList(){

List>list=newArrayList();

try{

list=getSqlMapClientTemplate().queryForList(namespace+".getMapList");

}catch(Exceptione){

System.out.println(namespace+".getMapList()异常!"

+e.getMessage());

}

returnlist;

}

这样用的用法省去很多代码,不需要在声明实体类,直接使用map作为实体类来看,大家可以试试看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值