亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

基于Angularjs+mybatis實現(xiàn)二級評論系統(tǒng)(仿簡書)

 更新時間:2017年02月13日 10:44:30   作者:timelessmemoryli  
這篇文章主要為大家詳細介紹了基于Angularjs+mybatis實現(xiàn)二級評論系統(tǒng),模仿簡書效果制作,具有一定的參考價值,感興趣的小伙伴們可以參考一下

一直想寫個評論系統(tǒng),看了下多說,網(wǎng)易,簡書的評論,想了下自己該實現(xiàn)怎樣的評論系統(tǒng)。

評論系統(tǒng)關鍵是嵌套層數(shù)以及數(shù)據(jù)庫表設計。嵌套層數(shù)多,表結構復雜,呈現(xiàn)也麻煩,最后決定實現(xiàn)一個二級評論。系統(tǒng)由maven構建,springboot快速搭建spring環(huán)境。前臺采用angularjs+bootstrap,后臺使用springmvc+mybatis,數(shù)據(jù)庫采用MySQL.前臺請求后臺API操作評論。

目錄結構

數(shù)據(jù)庫表設計

##說說表或者文章表 
create table saying ( 
 saying_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
 sayingContent VARCHAR(500) NOT NULL, 
 author VARCHAR(50) NOT NULL, 
 sayingAvatar VARCHAR(50) NOT NULL, 
 likes VARCHAR(500) NOT NULL, 
 createTime datetime NOT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
 
##一級評論表 
create table firstLevelComment ( 
 flc_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
 sayingId INT NOT NULL, 
 commenter VARCHAR(50) NOT NULL, 
 commenterAvatar VARCHAR(50) NOT NULL, 
 commentContent VARCHAR(500) NOT NULL, 
 commentTime datetime NOT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 
 
##二級評論表 
create table secondLevelComment ( 
 slc_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
 sayingId INT NOT NULL, 
 flcId INT NOT NULL, 
 replier VARCHAR(50) NOT NULL, 
 toCommenter VARCHAR(50) NOT NULL, 
 replyContent VARCHAR(50) NOT NULL, 
 replyTime datetime NOT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

獲取評論的mapper(關鍵)

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > 
<mapper namespace="personal.timeless.cms.mapper.SayingMapper" > 
 
 <resultMap id="SayingMap" type="saying" > 
 <id column="saying_id" property="id" jdbcType="INTEGER" /> 
 <result column="sayingContent" property="sayingContent" jdbcType="INTEGER" /> 
 <result column="author" property="author" jdbcType="VARCHAR" /> 
 <result column="sayingAvatar" property="avatar" jdbcType="VARCHAR" /> 
 <result column="likes" property="likes" jdbcType="VARCHAR" /> 
 <result column="createTime" property="createTime" jdbcType="TIMESTAMP" /> 
 <collection property="flcs" ofType="firstLevelComment" column="sayingId"> 
 <id column="flc_id" property="id" jdbcType="INTEGER" /> 
 <result column="sayingId" property="sayingId" jdbcType="INTEGER" /> 
 <result column="commenter" property="commenter"/> 
 <result column="commenterAvatar" property="avatar"/> 
 <result column="commentContent" property="commentContent"/> 
 <result column="commentTime" property="commentTime" jdbcType="TIMESTAMP" /> 
 <collection property="slcs" ofType="secondLevelComment" column="flcId"> 
  <id column="slc_id" property="id" jdbcType="INTEGER" /> 
  <result column="flcId" property="flcId" jdbcType="INTEGER" /> 
  <result column="replier" property="replier"/> 
  <result column="toCommenter" property="toCommenter"/> 
  <result column="replyContent" property="replyContent"/> 
  <result column="replyTime" property="replyTime" jdbcType="TIMESTAMP" /> 
 </collection> 
 </collection> 
 </resultMap> 
 
 <select id="selectOneById" resultMap="SayingMap" parameterType="int" > 
 select * from 
 (select * from saying s left join firstLevelComment fc on s.saying_id=fc.sayingId where s.saying_id=#{id}) tmp left join secondLevelComment sc 
 on tmp.flc_id = sc.flcId 
 </select> 
 
 <select id="updateLikesById"> 
 update saying set likes = #{likes} where saying_id = #{id} 
 </select> 
 </mapper> 

頁面展示


以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Angular.js中數(shù)組操作的方法教程

    Angular.js中數(shù)組操作的方法教程

    AngularJS是google在維護,其在國外已經(jīng)十分火熱,可是國內(nèi)的使用情況卻有不小的差距,參考文獻/網(wǎng)絡文章也很匱乏。下面這篇文章主要給大家介紹了關于Angular.js中數(shù)組操作的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • angularJS深拷貝詳解

    angularJS深拷貝詳解

    本篇文章主要介紹了angularJS深拷貝,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Angular之指令Directive用法詳解

    Angular之指令Directive用法詳解

    本篇文章主要介紹了Angular之指令Directive系列詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Angular.js初始化之ng-app的自動綁定與手動綁定詳解

    Angular.js初始化之ng-app的自動綁定與手動綁定詳解

    這篇文章主要給大家介紹了關于Angular.js初始化之ng-app的自動綁定與手動綁定的相關資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面跟著小編來一起學習學習吧。
    2017-07-07
  • Angular表單驗證實例詳解

    Angular表單驗證實例詳解

    這篇文章主要介紹了angular表單驗證的相關知識,angular來驗證可以定義樣式的,下文通過代碼給大家實例介紹下,需要的朋友可以參考下
    2016-10-10
  • AngularJS基礎 ng-hide 指令用法及示例代碼

    AngularJS基礎 ng-hide 指令用法及示例代碼

    本文主要介紹AngularJS ng-hide 指令,這里整理了ng-hide指令的基礎資料,并附實例代碼,有興趣的小伙伴參考下
    2016-08-08
  • 如何編寫一個完整的Angular4 FormText 組件

    如何編寫一個完整的Angular4 FormText 組件

    本篇文章主要介紹了如何編寫一個完整的Angular4 FormText 組件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • AngularJS中的API(接口)簡單實現(xiàn)

    AngularJS中的API(接口)簡單實現(xiàn)

    本文主要介紹AngularJS API(接口),這里對AngularJS API的知識做了詳細講解,并附簡單代碼實例,有需要的小伙伴可以參考下
    2016-07-07
  • 使用Angular CLI生成 Angular 5項目教程詳解

    使用Angular CLI生成 Angular 5項目教程詳解

    這篇文章主要介紹了使用Angular CLI生成 Angular 5項目的教程詳解 ,需要的朋友可以參考下
    2018-03-03
  • 詳解@angular/cli 改變默認啟動端口兩種方式

    詳解@angular/cli 改變默認啟動端口兩種方式

    這篇文章主要介紹了詳解@angular/cli 改變默認啟動端口兩種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11

最新評論