1. 程式人生 > 其它 >學成線上

學成線上

1 maven結構

2 樹查詢自連線

2-1 表結構

-- ----------------------------
-- Table structure for teachplan
-- ----------------------------
DROP TABLE IF EXISTS `teachplan`;
CREATE TABLE `teachplan` (
  `id` varchar(32) NOT NULL,
  `pname` varchar(64) NOT NULL,
  `parentid` varchar(32) NOT NULL,
  `grade` char(1) NOT NULL COMMENT '層級,分為1、2、3級',
  `ptype` char(1) DEFAULT NULL COMMENT '課程型別:1視訊、2文件',
  `description` varchar(500) DEFAULT NULL COMMENT '章節及課程時介紹',
  `timelength` double(5,2) DEFAULT NULL COMMENT '時長,單位分鐘',
  `courseid` varchar(32) DEFAULT NULL COMMENT '課程id',
  `orderby` varchar(32) DEFAULT NULL COMMENT '排序欄位',
  `status` char(1) NOT NULL COMMENT '狀態:未釋出、已釋出',
  `trylearn` char(1) DEFAULT NULL COMMENT '是否試學',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2-1 sql查詢

<select id="selectList" parameterType="java.lang.String"
        resultMap="teachplanMap">
    SELECT
      a.id one_id,
      a.pname one_pname,
      b.id two_id,
      b.pname two_pname,
      c.id three_id,
      c.pname three_pname,
      teachplan_media.media_id,
      teachplan_media.media_fileoriginalname 
    FROM
      teachplan a
      LEFT JOIN teachplan b
        ON b.parentid = a.id
      LEFT JOIN teachplan c
        ON c.parentid = b.id
      LEFT JOIN teachplan_media 
      ON c.id = teachplan_media.teachplan_id
    WHERE a.parentid = '0'
     <if test="_parameter!=null and _parameter != ''">
         AND a.courseid = #{courseId}
     </if>

    ORDER BY a.orderby,
      b.orderby,
      c.orderby

</select>

2-3 查詢結果

2-4 resultMap封裝

<resultMap id="teachplanMap" type="com.xuecheng.framework.domain.course.ext.TeachplanNode">
     <id column="one_id" property="id"></id>
     <result column="one_pname" property="pname"></result>
     <collection property="children" ofType="com.xuecheng.framework.domain.course.ext.TeachplanNode">
           <id column="two_id" property="id"></id>
           <result column="two_pname" property="pname"></result>
           <collection property="children" ofType="com.xuecheng.framework.domain.course.ext.TeachplanNode">
               <id column="three_id" property="id"></id>
               <result column="three_pname" property="pname"></result>
               <result column="media_id" property="mediaId"></result>
               <result column="media_fileoriginalname" property="mediaFileoriginalname"></result>
           </collection>
     </collection>
</resultMap>
我對任何唾手而得,快速,出自本能,即興,含混的事物沒有信心。我相信緩慢,平和,細水長流的力量,踏實,冷靜。我不相信缺乏自律精神和不自我建設,不努力,可以得到個人或集體的解放。