service層
/**
* 獲取所有部門
* @return
*/
@Override
public List<Department> getAllDepartments() {
return departmentMapper.getAllDepartments();
}
mapper層
/**
* 查詢所有部門
* @return
*/
@Select("select * from t_department where parent_id = 0")
@Results(id = "departmentMap",value = {
@Result(property = "id",column = "id"),
@Result(property = "name",column = "name"),
@Result(property = "parentId",column = "parent_id"),
@Result(property = "depPath",column = "dep_path"),
@Result(property = "enabled",column = "enabled"),
@Result(property = "isParent",column = "is_parent"),
@Result(property = "children",column = "id",many = @Many(select = "getAllDepartmentsId")),//這里表示一對多 一里面包含多
})
List<Department> getAllDepartments();
@Select("select * from t_department where parent_id = #{parent_id}")
@ResultMap("departmentMap")
List<Department> getAllDepartmentsId();
children: 它是在實體類定義的字段 private List
children;
id = "departmentMap": 通過注解@Results來指定對應關系 指定@ResultMap("departmentMap")
column指定數據庫字段的名稱,property指定實體類屬性的名稱,jdbcType數據庫字段類型,@Result里的id值為true表明主鍵,默認false