ibatis 返回list<String[]>----resultClass="hashMap" 可以实现
2012-06-19 17:33
766 查看
select a.id as id,
count(distinct b.id) as bid,
count(distinct c.id) as cid
from user a left join user_role b on a.userId = b.userId
left join role c on b.roleId = c.roleId;
要求返回结果形式为:List<String[ ]>
String [ ] 中存放的就是三个ID值.
1.到这里,通常我的想法就是,写一个javaBean,javaBean中有这三个属性,分别和这三个值相对应,然后通过resultMap来映射结果集,
如:
<typeAlias alias="UserBean" type="com.test.javaBean.UserBean"/>
<resultMap class="UserBean" id="UserBeanPojo">
<result property="id" column="id" />
<result property="bid" column="bid" />
<result property="cid" column="cid" />
</resultMap>
<select id="selectId" resultMap="UserBeanPojo">
select a.id as id,
count(distinct b.id) as bid,
count(distinct c.id) as cid
from user a left join user_role b on a.userId = b.userId
left join role c on b.roleId = c.roleId;
</select>
List<UserBean> list = sqlMapClient.queryForList("selectId");
然后再循环迭代list集合转换为String[ ]数组,然后在放入list,最后返回。
2.
实际上是陷入了惯性思维,老是想着用resultMap,其实这里直接用resultClass="hashMap" 可以实现
就不用写javaBean了。
如下:
<select id="selectId" resultClass="java.util.HashMap">
select a.id as id,
count(distinct b.id) as bid,
count(distinct c.id) as cid
from user a left join user_role b on a.userId = b.userId
left join role c on b.roleId = c.roleId;
</select>
List [b]result= sqlMapClient.queryForList("selectId");[/b]
Map hashMap = new HashMap();
for(int i=0;i<result.size();i++) {
hashMap = (HashMap)result.get(i);
String[] areaElement = new String[3];
areaElement[0] = hashMap.get("AID").toString();
areaElement[2] = hashMap.get("BID").toString();
areaElement[3] = hashMap.get("CID").toString();
statResult.add(areaElement);
}
注意:这里的hashMap.get("AID"),键名的来源就是sql语句中的别名。
count(distinct b.id) as bid,
count(distinct c.id) as cid
from user a left join user_role b on a.userId = b.userId
left join role c on b.roleId = c.roleId;
要求返回结果形式为:List<String[ ]>
String [ ] 中存放的就是三个ID值.
1.到这里,通常我的想法就是,写一个javaBean,javaBean中有这三个属性,分别和这三个值相对应,然后通过resultMap来映射结果集,
如:
<typeAlias alias="UserBean" type="com.test.javaBean.UserBean"/>
<resultMap class="UserBean" id="UserBeanPojo">
<result property="id" column="id" />
<result property="bid" column="bid" />
<result property="cid" column="cid" />
</resultMap>
<select id="selectId" resultMap="UserBeanPojo">
select a.id as id,
count(distinct b.id) as bid,
count(distinct c.id) as cid
from user a left join user_role b on a.userId = b.userId
left join role c on b.roleId = c.roleId;
</select>
List<UserBean> list = sqlMapClient.queryForList("selectId");
然后再循环迭代list集合转换为String[ ]数组,然后在放入list,最后返回。
2.
实际上是陷入了惯性思维,老是想着用resultMap,其实这里直接用resultClass="hashMap" 可以实现
就不用写javaBean了。
如下:
<select id="selectId" resultClass="java.util.HashMap">
select a.id as id,
count(distinct b.id) as bid,
count(distinct c.id) as cid
from user a left join user_role b on a.userId = b.userId
left join role c on b.roleId = c.roleId;
</select>
List [b]result= sqlMapClient.queryForList("selectId");[/b]
Map hashMap = new HashMap();
for(int i=0;i<result.size();i++) {
hashMap = (HashMap)result.get(i);
String[] areaElement = new String[3];
areaElement[0] = hashMap.get("AID").toString();
areaElement[2] = hashMap.get("BID").toString();
areaElement[3] = hashMap.get("CID").toString();
statResult.add(areaElement);
}
注意:这里的hashMap.get("AID"),键名的来源就是sql语句中的别名。
相关文章推荐
- ibatis中动态查询表返回用resultClass="java.util.HashMap" 的问题
- ibatis中动态查询返回字段返回用resultClass="java.util.HashMap" 的问题
- 基于Java使用HashMap<String,List<String>>实现数据的缓存
- ibatis resultclass "java.util.hashmap" 缓存
- Struts2通配符映射/Struts <action name="/*/*" method="{2}" class="com.jxc.action.{1}Action"> <result
- List&amp;amp;amp;lt;Map&amp;amp;amp;gt;:HashMap自身的equals实现
- AutoCompleteTextView 自定义adapter。 可以添加List<Map<String,Object>>
- jni实现返回值为java类型的String[]和List<E>的函数
- ibatis HashMap select insert update delete parameterMap parameterClass resultMap resultClass="java.util.HashMap" 不写实体类
- 利用Jquery让返回的各类数据(string、集合(List<>)、类)以Json数据格式返回,为什么要用到result.d (JQuery ajax 返回数据 使用 .d 的问题)
- ibatis中动态查询返回字段返回用resultClass="java.util.HashMap" Java.sql.SQLException: 列名无效的问题
- List<Map<String, Object>> resultList按某些字段排序
- Map<String, List> map=new HashMap<String,List>()
- mybatis返回类型string,或者对象,均可用list<string>或者,list<对象>来接收
- List<HashMap<String, String>>详细讲解
- Mybatis无实体类,以List<Map<String,Object>>方式返回
- SharePoint上传文件显示在label 页面Session["demo"] = new List<String>();(实现)
- Java实现从IP和端口列表List<String>获取分离的IP和端口值
- 简单实现可以多选的ProductListDialog<T>
- 页面对json返回自动result:<pre style="word-wrap: break-word; white-space: pre-wrap;">{"flag":"true"}</pre>问题