1、ibatis 层
<select id="getByUid" resultMap="UserComment" parameterClass="map">
SELECT uid, friend_id, alias_name,alias_name_pinyin
FROM USER_COMMENT
WHERE uid = #uid#
<isNotNull prepend="AND" property="namespace">
namespace = #namespace:VARCHAR#
</isNotNull>
</select>
2、Dao层
@SuppressWarnings("unchecked")
public Map<String,UserComment> gets(String uid) {
Map<String, Object> params = new HashMap<String, Object>();
params.put("uid", uid);
params.put("namespace", namespaceContext.getNamespace());
return (Map<String,UserComment>) this.getSqlMapClientTemplate().
queryForMap("UserComment.getByUid", params,"friendId");
}
3、服务层
Map<String,UserComment>getComments(String uid);
4、实现层
public Map<String,UserComment> getComments(String uid) {
if (StringUtil.isBlank(uid)) return null;
Map<String,UserComment> commentList = userCommentDao.gets(uid);
if (commentList == null || commentList.isEmpty()) return null;
return commentList;
}
5、rpc层测试
@SuppressWarnings("all")
@ResourceMapping(value = "/getCommentsByUid", method = HttpMethod.GET)
public Map<String,UserComment> getCommentsByUid(ErrorContext errorContext) {
String uid = (String) session.getAttribute(SessionConstants.UID);
if (uid == null) return null;
try {
return (Map<String, UserComment>) this.userService.getComments(uid);
} catch (Exception e) {
log.error(e.getMessage(), e);
errorContext.addError(ErrorItem.create("get", "603", "查询好友备注失败"));
return null;
}
}
返回结果:
{"content":{"22001":{"uid":"585012","aliasNamePinyin":"ce^shi^a^a^a^a^a","friendId":"22001","aliasName":"\u6D4B\u8BD5\u554A\u554A\u554A\u554Aa"},"22002":{"uid":"585012","aliasNamePinyin":"ce^shi^b^b","friendId":"22002","aliasName":"\u6D4B\u8BD5bb"},"22003":{"uid":"585012","aliasNamePinyin":"ce^shi^c^2","friendId":"22003","aliasName":"\u6D4B\u8BD5c2"}},"resubmitToken":"035d0af2a6ab8add7204335c66fee974","submitToken":"035d0af2a6ab8add7204335c66fee974","hasError":false}
6、返回的map结果如何使用
Map<String, UserComment> comments = this.lwUserService.getComments(securityContext.getCurrentUserId()); List<ConnectionVO> users = new ArrayList<ConnectionVO>(friends.size()); UserComment uc = null; for (BaseProfile friend : friends) { ConnectionVO connectionVO = new ConnectionVO(); connectionVO.setName(friend.getName()); connectionVO.setAvatar(friend.getAvatar()); connectionVO.setPinyin(friend.getNamePinyin()); connectionVO.setId(friend.getUid()); uc = comments.get(friend.getUid()); connectionVO.setAliasName(uc == null ? null : uc.getAliasName()); connectionVO.setAliasNamePinyin(uc == null ? null : uc.getAliasNamePinyin()); users.add(connectionVO); }// end for
转载于:https://blog.51cto.com/wendyjiangyue/1119831