ibatis resultMap的子元素result问题
<resultMapid="NewLeaveWordResult"class="com.NewLeaveWord"><!--问题:1.通过该语句把查询到的数据集赋值给ch...
<resultMap id="NewLeaveWordResult" class="com.NewLeaveWord">
<!--问题:1.通过该语句把查询到的数据集赋值给childs??2.即在主表(NewLeaveWord)对象的属性childs的值也就被赋予了这个结果集吗??? -->
<result column="ID" property="childs" jdbcType="BIGINT" select="LeaveWordReply.getByFather"/>
</resultMap>
在NewLeaveWord.java定义了
private java.util.List<LeaveWordReply> childs = new ArrayList<LeaveWordReply>();
//LeaveWordReply为从表
public java.util.List<LeaveWordReply> getChilds() {
return childs;
}
public void setChilds(java.util.List<LeaveWordReply> childs) {
this.childs = childs;
} 展开
<!--问题:1.通过该语句把查询到的数据集赋值给childs??2.即在主表(NewLeaveWord)对象的属性childs的值也就被赋予了这个结果集吗??? -->
<result column="ID" property="childs" jdbcType="BIGINT" select="LeaveWordReply.getByFather"/>
</resultMap>
在NewLeaveWord.java定义了
private java.util.List<LeaveWordReply> childs = new ArrayList<LeaveWordReply>();
//LeaveWordReply为从表
public java.util.List<LeaveWordReply> getChilds() {
return childs;
}
public void setChilds(java.util.List<LeaveWordReply> childs) {
this.childs = childs;
} 展开
1个回答
展开全部
我给你一段 我的写法;
方式一:也就是你那种;
<typeAlias alias="resourceVO" type="com.XXXXX.resourceVO" />
<resultMap id="resourceEntity" class="resourceVO">
<result column="id" property="id" jdbcType="INTEGER" />
<result column="name" property="name" jdbcType="VARCHAR" />
<result column="level" property="level" jdbcType="INTEGER" />
<result column="type" property="type" jdbcType="INTEGER" />
<result column="effect" property="effect" jdbcType="INTEGER" />
<result column="score" property="score" jdbcType="INTEGER" />
<result column="comment" property="comment" jdbcType="VARCHAR" />
</resultMap>
<!-- 查询所有 -->
<select id="getAllResource" resultMap="resourceEntity">
select * from t_sys_resource_point
</select>
----------------------------------------
方式二: (就这样,不用配置 resultMap,怎么运用自行决定)
<typeAlias alias="resourceVO" type="com.XXXXX.resourceVO" />
--------------------
JAVA程序里:
public class OtherDAOImpl implements OtherDAO {
private SqlMapClient sqlMapClient;
public OtherDAOImpl(SqlMapClient sqlMapClient) {
super();
this.sqlMapClient = sqlMapClient;
}
// 查询所有
public List<ResourceVO> getResource() throws SQLException {
return sqlMapClient.queryForList("空间名.getAllResource");
}
.... .....
方式一:也就是你那种;
<typeAlias alias="resourceVO" type="com.XXXXX.resourceVO" />
<resultMap id="resourceEntity" class="resourceVO">
<result column="id" property="id" jdbcType="INTEGER" />
<result column="name" property="name" jdbcType="VARCHAR" />
<result column="level" property="level" jdbcType="INTEGER" />
<result column="type" property="type" jdbcType="INTEGER" />
<result column="effect" property="effect" jdbcType="INTEGER" />
<result column="score" property="score" jdbcType="INTEGER" />
<result column="comment" property="comment" jdbcType="VARCHAR" />
</resultMap>
<!-- 查询所有 -->
<select id="getAllResource" resultMap="resourceEntity">
select * from t_sys_resource_point
</select>
----------------------------------------
方式二: (就这样,不用配置 resultMap,怎么运用自行决定)
<typeAlias alias="resourceVO" type="com.XXXXX.resourceVO" />
--------------------
JAVA程序里:
public class OtherDAOImpl implements OtherDAO {
private SqlMapClient sqlMapClient;
public OtherDAOImpl(SqlMapClient sqlMapClient) {
super();
this.sqlMapClient = sqlMapClient;
}
// 查询所有
public List<ResourceVO> getResource() throws SQLException {
return sqlMapClient.queryForList("空间名.getAllResource");
}
.... .....
追问
我是想知道通过select属性的数据查询到的值是不是直接赋给了对象中的属性childs?
追答
可以的。 类似于 JAVA里 对象里 含有 其他对象
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询