mybatis-plus使用注解方式實現遞歸


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM