<resultMap id="get-employee-dept" class="employee">
<result property="empId" column="empId" />
<result property="empIid" column="empIid" />
<result property="empName" column="empName" />
<result property="empAddr" column="empAddr" />
<result property="dept" column="deptId" select="getDeptbyDeptId" />
</resultMap> <select id="getEmployee" parameterClass="int" resultMap="get-employee-dept">
select *
from jy_employee t1
where t1.empId = #empId#
</select>
<select id="getDeptbyDeptId" parameterClass="int" resultClass="dept">
select *
from jy_dept t
where t.deptId = #deptId#
</select> public static Employee empDept(int empId) {
SqlMapClient sqlMap = getSqlMapClient();
Employee dpt = null;
try {
sqlMap.startTransaction();
dpt =(Employee)sqlMap.queryForObject("User.getEmployee",empId); sqlMap.commitTransaction();
} catch (SQLException e) {
e.printStackTrace();
}
return dpt;
} 报错..There is no statement named getDeptbyDeptId in this SqlMap
<result property="empId" column="empId" />
<result property="empIid" column="empIid" />
<result property="empName" column="empName" />
<result property="empAddr" column="empAddr" />
<result property="dept" column="deptId" select="getDeptbyDeptId" />
</resultMap> <select id="getEmployee" parameterClass="int" resultMap="get-employee-dept">
select *
from jy_employee t1
where t1.empId = #empId#
</select>
<select id="getDeptbyDeptId" parameterClass="int" resultClass="dept">
select *
from jy_dept t
where t.deptId = #deptId#
</select> public static Employee empDept(int empId) {
SqlMapClient sqlMap = getSqlMapClient();
Employee dpt = null;
try {
sqlMap.startTransaction();
dpt =(Employee)sqlMap.queryForObject("User.getEmployee",empId); sqlMap.commitTransaction();
} catch (SQLException e) {
e.printStackTrace();
}
return dpt;
} 报错..There is no statement named getDeptbyDeptId in this SqlMap
--- The error occurred while applying a result map.
--- Check the User.get-employee-dept.
--- Check the result mapping for the 'dept' property
这个属性在EMPLOYEE里也有啊
用
select
数据库字段名 as java字段名