Class.xml

<?xml version="1.0" encoding="utf-8" ?>
<sqlMap namespace="Class" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="SqlMap.xsd">

<!--表示为WebApplication1.Class取了个别名,这样在下面的class=别名就可以 了-->
<alias>
 <typeAlias alias="Class" type="WebApplication1.Class,WebApplication1" />
</alias>

<!--resultMap 是数据库字段和Class的类的对应关系,也是SQL语句操作的结果的载体,其作用就是,SQL语句操作返回的数据的值根据这个resultMap的定 义,将相应的字段的值赋给Class类对应的属性.-->
<resultMaps>
 <resultMap id="Class" class="Class">
  <result property="ClassId" column="ClassId" />
  <result property="ClassName" column="ClassName" />
 </resultMap>
 <resultMap id="SimpleClass" class="Class">
  <result property="ClassName" column="ClassName" />
 </resultMap>
</resultMaps>

<!--参数列表,归存储过程使用-->

<parameterMaps>
 <parameterMap id="QueryClassName">
  <parameter property="ClassName" column="" />
 </parameterMap>
 </parameterMaps>

<!--更新,添加,删除,查询,存储过程都写在statements标签里-->

<statements>
 <select id="SelectClass" parameterClass="int" resultMap="SimpleClass">
select
ClassId,ClassName
from [Class]
  <dynamic prepend="WHERE">
   <isParameterPresent>
    ClassId = #value#
   </isParameterPresent>
  </dynamic>
 </select>

<!--存储过程,属性代表ID,参数parameterMap,结果保存resultMap-->

<procedure id="GetClassByName" parameterMap="QueryClassName" resultMap="Class">
           QueryClassByName
  </procedure>

<!--添加的SQL映射,属性代表ID,传入的参数类型,结果类型-->
 <insert id="InsertClass" parameterClass="Class" resultClass="int">
insert into Class
(ClassName)
values
(#ClassName#)
 </insert>

<!--更新的SQL映射,属性代表ID,传入的参数类型,结果类型-->
 <update id="UpdateClass" parameterClass="Class" resultClass="int">
update Class set
ClassName=#ClassName#
where ClassId = #ClassId#
 </update>

<!--删除的SQL映射,属性代表ID,传入的参数类型,结果类型-->
 <delete id="DeleteClass" parameterClass="Class" resultClass="int">
delete from Class
where ClassId = #ClassId#
 </delete>
</statements>
</sqlMap>


GoodsType.xml

<?xml version="1.0" encoding="utf-8" ?>
<sqlMap namespace="GoodsType" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="SqlMap.xsd">
<alias>
 <typeAlias alias="GoodsType" type="WebApplication1.GoodsType,WebApplication1" />
</alias>
<resultMaps>
 <resultMap id="GoodsTypeList" class="GoodsType">
  <result property="GoodsTypeId" column="GoodsTypeId" />
  <result property="GoodsTypeName" column="GoodsTypeName" />
  <result property="Class" resultMapping="Class.SimpleClass" /><!--这里是外键映射-->
 </resultMap>
</resultMaps>

<statements>
 <select id="ListGoodsType" resultMap="GoodsTypeList">
select GoodsTypeId,GoodsTypeName,GoodsType.ClassId,ClassName from [GoodsType],[Class]
where Class.ClassId=GoodsType.ClassId
 </select>
</statements>
</sqlMap>