刚开始接触ibatis,一对多关联查询时遇到问题。
StuClass和Student为一对多关系。
2张表为Student:
字段:sid,sname,classid
StuClass:
字段:classid,classname
2个实体类如下public class Student {
private Integer sid;
private String sname;
private StuClass classid;
//省略get,set
}
public class StuClass {
private Integer classid;
private String classname;
private List<Student> students;
}
配置文件如下:<resultMap id="getStuClass" class="ibatis.model.StuClass">
<result property="classid" column="classid"></result>
<result property="classname" column="classname"></result>
<result property="students" column="classid" select="getStudentByClass"></result>
</resultMap><resultMap id="Student" class="ibatis.model.Student">
<result property="sid" column="sid"></result>
<result property="sname" column="sname"></result>
<result property="classid" column="classid" select="StuClass"></result>
</resultMap><select id="StuClass" parameterClass="int" resultClass="ibatis.model.StuClass">
select * from class where classid=#classid#
</select><select id="getStudentByClass" parameterClass="int" resultClass="ibatis.model.Student">
select * from student where classid = #classid#
</select>
查询StuClass时不能把关联的Student一起查出来,是不是配置文件写的不对,应该怎么改?
StuClass和Student为一对多关系。
2张表为Student:
字段:sid,sname,classid
StuClass:
字段:classid,classname
2个实体类如下public class Student {
private Integer sid;
private String sname;
private StuClass classid;
//省略get,set
}
public class StuClass {
private Integer classid;
private String classname;
private List<Student> students;
}
配置文件如下:<resultMap id="getStuClass" class="ibatis.model.StuClass">
<result property="classid" column="classid"></result>
<result property="classname" column="classname"></result>
<result property="students" column="classid" select="getStudentByClass"></result>
</resultMap><resultMap id="Student" class="ibatis.model.Student">
<result property="sid" column="sid"></result>
<result property="sname" column="sname"></result>
<result property="classid" column="classid" select="StuClass"></result>
</resultMap><select id="StuClass" parameterClass="int" resultClass="ibatis.model.StuClass">
select * from class where classid=#classid#
</select><select id="getStudentByClass" parameterClass="int" resultClass="ibatis.model.Student">
select * from student where classid = #classid#
</select>
查询StuClass时不能把关联的Student一起查出来,是不是配置文件写的不对,应该怎么改?
解决方案 »
- struts2运行错误
- Unknown column 'a.item_no' in 'field list'
- 高分在线请教hibernate中,如何让持久化类和数据库中的数据同步。
- 关于struts logic:iterate的问题
- 有哪位高人熟悉JAVA/CORBA,请指教啊!!!!!
- 用jdbc连接sql server时window登录方式时出问题?
- 大送分!这个do什么意思???还有关于Struts标签问题!!
- 请教大家一个Tomcat连接池恶意刷新就崩溃的问题!
- 讨论一下大家对于Java中进程间通信采取的处理方式
- 使用java如何在win98下执行命令行程序?
- 请教SSH登陆验证方案
- 数据库变更
select * from class where classid=#classid#
</select>
[/code]
<select id="StuClass" parameterClass="int" resultMap="getStuClass">
select * from class where classid=#classid#
</select>
select * from student where classid = #classid#
</select>这里也要用resultMap,OK了,问题解决了,谢谢