ibatis 多表关联

1、将一个类当作某个类的属性,定义Model实体,如 在  a.cs中 定义 一个

a.cs Model情况

        public int id { get; set; }
        public string name { get; set; }
        public b b { get; set; }

b.cs Model里面情况

        public int id { get; set; }
        public string catalog { get; set; }
        public string sex { get; set; }

将b类当作 a类的一个属性

2、设置映射关系

  <alias>
    <typeAlias alias="a" assembly="Model.dll" type="Model.a" />
    <typeAlias alias="b" assembly="Model.dll" type="Model.b"/>
  </alias>
  <resultMaps>
    <resultMap id="aaa" class="a">
      <result property="Id" column="id"></result>
      <result property="name" column="name"/>
      <result property="b"  resultMapping="Your_namespace.bbb"/>
    </resultMap>

    <resultMap id="bbb" class="b">
      <result property="Id" column="ID"></result>
      <result property="Catalog" column="catalog"/>
      <result property="Sex" column="sex"/>
    </resultMaps> 
  <statements>

3、调用

   <select id="Getdata" resultMap="aaa">
      SELECT a.xx,b.xx
      FROM a , b where a.did=b.id
    </select>

注:语句中,有定义的字段必须要select出来,不然会报那个字段的错误

原文地址:https://www.cnblogs.com/wdw31210/p/2860893.html