mybatis-エリア生成された3つの表領域ツリー

パッケージcom.dhht.manager.vo.area。

輸入lombok.Data;

インポートしたjava.io.Serializable;
輸入はjava.util.List;

/ **
* @Authorます。sh
* @description:ProvinceVO
* @Date:夜7時33分2019年12月23日
* /
@Data
パブリッククラスProvinceVO実装Serializableを{
プライベート静的最終長いserialVersionUIDの= 8581900297888963919L。
プライベートロングID。
プライベート文字列名;
プライベート文字列のコード;
プライベートロングregionLevel。
プライベート文字列regionName。
プライベートロングPARENTID。
プライベートリスト<CityVO>子供たち。
}

パッケージcom.dhht.manager.vo.area。

輸入lombok.Data;

インポートしたjava.io.Serializable;
輸入はjava.util.List;

/ **
* @Authorます。sh
* @description:CityVO
* @Date:夜07時33分2019年12月23日
* /
@Data
パブリッククラスCityVOが実装Serializableを{
プライベート静的最終長いserialVersionUIDの= -4506315529106267971L。
プライベートロングID。
プライベート文字列名;
プライベート文字列のコード;
プライベートロングregionLevel。
プライベート文字列regionName。
プライベートロングPARENTID。
プライベートリスト<DistrictVO>子供たち。
}

パッケージcom.dhht.manager.vo.area。

輸入lombok.Data;

インポートしたjava.io.Serializable;
輸入はjava.util.List;

/ **
* @Authorます。sh
* @description:DistrictVO
* @Date:午後07時35分2019年12月23日
* /
@Data
パブリッククラスDistrictVO実装Serializableを{
プライベート静的最終長いserialVersionUIDの= 6682075711606147829L。

プライベートロングID。
プライベート文字列名;
プライベート文字列のコード;
プライベートロングregionLevel。
プライベート文字列regionName。
プライベートロングPARENTID。
プライベートリスト<オブジェクト>子供たち。
}

パッケージcom.dhht.dao。

輸入com.dhht.manager.vo.area.DistrictVO;
輸入com.dhht.manager.vo.area.ProvinceVO;
輸入com.dhht.model.City。
輸入org.apache.ibatis.annotations.Param;

輸入はjava.util.List;

パブリックインターフェースCityMapper {

リスト<ProvinceVO> treeProvinceQuery(@Param(値= "コード")文字コード)。

一覧<市> treeCityQuery(@Param(値= "ID")ロングID);

リスト<DistrictVO> treeDistrictQuery(@Param(値= "ID")ロングID)。
}


<?xmlのバージョンは、= "1.0"エンコード= "UTF-8"?>
<DOCTYPEマッパーPUBLIC! " - // mybatis.org//DTDマッパー3.0 // EN"「http://mybatis.org/dtd/mybatis -3- mapper.dtd ">
<マッパー名前空間=" com.dhht.dao.CityMapper ">
<! -州- >
<このresultMap ID =" provinceVoMap "タイプ=" com.dhht.manager.vo.area。 ProvinceVO ">
<id列=" ID」jdbcType = "BIGINT"プロパティ= "ID" />
<結果列= "名前" jdbcType = "VARCHAR"プロパティ= "名前" />
<結果カラム= "コード" jdbcType = "VARCHAR"プロパティ= "コード" />
<結果カラム= "PARENTID" jdbcType = "BIGINT"プロパティ=」PARENTID」/>
<コレクションプロパティ= "子供"の列= "ID"を選択= "com.dhht.dao.CityMapper.treeCityQuery"> </コレクション>
</このresultMap>
<! -エンド県- >

<! - -City - >
<このresultMapのID = "cityVoMap"タイプ= "com.dhht.manager.vo.area.CityVO">
<IDカラム= "ID" jdbcType = "BIGINT"プロパティ= "ID" />
<結果列= "名前" jdbcType = "VARCHAR"プロパティ= "名前" />
<結果カラム= "コード" jdbcType = "VARCHAR"プロパティ= "コード" />
<結果カラム= "PARENTID" jdbcType = "BIGINT"プロパティ= "PARENTID" />
<コレクションプロパティ= "子供"の列= "ID" = "com.dhht.dao.CityMapper.treeDistrictQuery"> </コレクション>選択
</このresultMap>
<を! -エンド市- >

<! -地区- >
<このresultMapのID = "districtVoMap"タイプ= "com.dhht.manager.vo.area.DistrictVO">
<id列= "ID" jdbcType = "BIGINT"プロパティ= "ID" />
<カラムをもたらす= "名前" jdbcType = "VARCHAR"プロパティ=」名前」/>
<結果列= "コード" jdbcType = "VARCHAR"プロパティ= "コード" />
<結果列= "PARENTID" jdbcType = "BIGINT"プロパティ= "PARENTID" />
</このresultMap>
<! -エンドdistrict-- >
<このresultMapのID = "BaseResultMap"タイプ= "com.dhht.model.City">
<id列= "ID" jdbcType = "BIGINT"プロパティ= "ID" />
<結果カラム= "名前" jdbcType = "VARCHAR "プロパティ="名前」/>
<結果カラム= "" jdbcType = "BIGINT"プロパティ= "provinceId" /> province_id
<結果カラム= "コード" jdbcType = "VARCHAR"プロパティ= "コード" />
<を/このresultMap>

<IDを選択= "treeProvinceQuery"このresultMap = "provinceVoMap">
ID、名前、コード、NULL AS PARENTIDを選択
lv_provinceから
CODE =#{コード}
</選択>

<SELECT ID = "treeCityQuery"このresultMap = "cityVoMap">
選択ID、名前、コード、#{ID} AS PARENTID
lv_cityから
province_id =#{ID}
</選択>

<選択ID = "treeDistrictQuery"このresultMap = "districtVoMap 「>
を選択し、ID、名前、コード、#{ID} AS PARENTID
lv_districtから
CITY_ID =#{ID}
</>選択
</マッパー>

おすすめ

転載: www.cnblogs.com/sung1024/p/12128010.html