ibatis 配置文件及对应数据的格式…

有两个实体:

public class WatchType implements Serializable{
private Long watchTypeId;
private String watchTypeName;
private String description;

......

}

public class Result {

  private Long resultId;
  private String name;
  private Long watchTypeId;
  private WatchType allWatchType;

  ........

}
resultMap 配置如下(仅以查询为例)

<resultMap id="allWatchType" class="cn.com.pattek.eneity.WatchType">
   <result property="watchTypeId" column="ID" />
   <result property="watchTypeName" column="NAME"/>
   <result property="description" column="DESCRIPTION"/>
</resultMap>

<select id="getWatchTypeStore" resultMap="allWatchType" >
   select * from pm_watch_type
</select>

<resultMap id="result" class="cn.com.pattek.eneity.Result">
   <result property="resultId" column="ID"/>
   <result property="name" column="NAME" />
   <result property="allWatchType.watchTypeId" column="WATCH_TYPE_ID"/>
   <result property="allWatchType.watchTypeName" column="pmwtName" /> 
</resultMap>

<select id="getResultByCondition" resultMap="result">

 select * from(select a.*,rownum rn from(select r.id,r.name
  r.watch_type_id,pmwt.name pmwtName,
  from pm_result r 
  left join pm_watch_type pmwt on pmwt.id=r.watch_type_id 

</select>

action中得到result对象的list集合,将该list放入jaon数据中:

Pagination p = new Pagination(start, limit, totalCount);
p.setList(resultList);
  this.objectToJson(p);(其中Pagination是分页的类)

这样在页面中得到的数据格式如下:[{resultId:'',name:'',"allWatchType":{"description":"","watchTypeId":2,"watchTypeName":"全天节目监看"}}]

前台页面获得数据的方式(以ext store为例):fileds中{‘resultId','name','allWatchType.watchTypeId',' allWatchType.watchTypeName'}即可获得watchType 的id、name  或: {‘resultId','name','allWatchType'} 

在column中的对应:{
 header : '类型', 
dataIndex : 'allWatchType' ,
align : 'center',

//加此render的目的是 判断allWatchType为空的条件,若用 allWatchType .watchTypeId会有空指针的错误
renderer :function(value, metadata, record){
if(value=="" || value == null){
return "";
}else{
return record.get(' allWatchType ').watchTypeId;
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值