发表于: 2019-11-03 20:44:38

1 604


今天完成的事情:

完成后续接口功能

1.通过二级导航的id,返回对应的作品,二级id对应多张作品

dao

public interface SecondDao {

/**
    * 查询二级导航栏内容
    */
   List<Second> findBySecond(Integer firstId);
}

实体类

public class Second {

private Integer secondId;
   
   private String secondName;

   private Integer worksId;

   private String worksName;

   private String worksUrl;

   private String worksVideo;

   private String workshop;

   private String worksIntroduce;

   private Integer worksStaYus;

dao.xml

<select id="findByFirst" resultMap="BaseResultMap">
      SELECT f.first_id,f.first_name,s.second_name,w.works_id,w.works_name,w.works_url,w.works_video,w.workshop,w.works_introduce,w.works_introduce,w.works_stayus FROM first_bar f,second_bar s,works w
WHERE f.first_id = s.fir_id
AND f.first_id = w.first_id
AND w.second_id=s.second_id
AND f.first_id=2;
</select>

controller

@Autowired
SecondDao secondDao;

/**
* 查询二级导航栏内容
*/
@RequestMapping(value = "/second/{secondId}",method = RequestMethod.GET)
@ResponseBody
public List<Second> seConDtBar(@PathVariable("secondId") Integer secondId){
List<Second> bySCond = secondDao.findBySecond(secondId);
   return bySCond;
}

postman


2.直接从banner图表获取数据

dao

@Repository
public interface BannerDao {

/**
    * 查询对应banner信息
    */
   Banner selectByPrimaryKey(Integer bannerId);
}

实体类

public class Banner  {

private Integer bannerId;

   private String bannerUrl;

   private String bannerImg;

   private Integer bannerStatus;

dao.xml

 <sql id="Base_Column_List" >
banner_id, banner_url, banner_img, banner_status
</sql>

 <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
   select
<include refid="Base_Column_List" />
   from banner
where banner_id = #{bannerId,jdbcType=INTEGER}
</select>

controller

@Autowired
BannerDao bannerDao;

/**
* 查询对应banner信息
*/
@RequestMapping(value = "/banner/{bannerId}",method = RequestMethod.GET)
@ResponseBody
public Banner selectBanner(@PathVariable("bannerId") Integer bannerId){
Banner banner = bannerDao.selectByPrimaryKey(bannerId);
   return banner;
}

postman


3.根据作品id返回作品具体信息

dao

@Repository
public interface WorksDao {

/**
    * 通过id得到作品表内容
    * @param worksId
    * @return
    */
   Works selectWorksById(Integer worksId);

dao.xml

<!--通过id得到内容-->
<select id="selectWorksById" resultMap="BaseResultMap" parameterType="java.lang.Integer">
 select
<include refid="Base_Column_List" />
 from works
where works_id = #{worksId,jdbcType=INTEGER}
</select>

实体类

public class Works  {
/**
    * 作品ID
    */
   private Integer worksId;

   /**
    * 作品名称
    */
   private String worksName;

   /**
    * 作品(图片)链接
    */
   private String worksUrl;

   /**
    * 视频链接
    */
   private String worksVideo;

   /**
    * 作品所属工作室
    */
   private String workshop;

   /**
    * 作品介绍
    */
   private String worksIntroduce;

   /**
    * 作品上下架状态,1代表上架,0代表下架
    */
   private Integer worksStaYus;

   /**
    * 所属一级导航栏
    */
   private Integer firstId;

   /**
    * 所属二级导航栏
    */
   private Integer secondId;

controller

@Autowired
WorksDao worksDao;

/**
* 作品展示
*/
@RequestMapping(value = "/works/{worksId}",method = RequestMethod.GET)
@ResponseBody
public Works selectWork(@PathVariable("worksId") Integer worksId){
Works works = worksDao.selectWorksById(worksId);
   return works;
}

postman


4.工作室页

接受导航栏的按钮的id,返回对应页面的信息

dao

@Repository
public interface WorkshopDao {

/**
    * 接受导航栏的按钮的id,返回对应页面的信息
    * @param workshopId
    * @return
    */
   Workshop selectByPrimaryKey(Integer workshopId);

dao.xml

<sql id="Base_Column_List">
 workshop_id, workshop_img, workshop_video, workshop_text
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
 select
<include refid="Base_Column_List" />
 from workshop
where workshop_id = #{workshopId,jdbcType=INTEGER}
</select>

实体类

public class Workshop implements Serializable {
/**
    * 选择导航栏的哪个功能
    */
   private Integer workshopId;

   /**
    * 功能下需要的图片链接
    */
   private String workshopImg;

   /**
    * 功能下需要的视频链接
    */
   private String workshopVideo;

   /**
    * 功能下需要的文本
    */
   private String workshopText;

controller

@Controller
@RequestMapping("/workshop")
public class WorkshopController {

@Autowired
   WorkshopDao workshopDao;

   /**
    * 关于作者及工作室页
    * @param workshopId
    * @return
    */
   @RequestMapping(value = "/{workshopId}",method = RequestMethod.GET)
@ResponseBody
   public Workshop selectWork(@PathVariable("workshopId") Integer workshopId){
Workshop workshop = workshopDao.selectByPrimaryKey(workshopId);
       return workshop;
   }

postman


5.游客进入随机获得id

dao

@Repository
public interface TouristDao {

/**
    * 游客进入随机获得id
    * @return
    */
   Tourist selectByPrimaryKey();

dao.xml

<sql id="Base_Column_List">
 tourist_id, tourist_name
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
 select
<include refid="Base_Column_List" />
 from tourist
ORDER BY rand() LIMIT 1;
</select>

实体类

public class Tourist  {
/**
    * 游客ID
    */
   private Integer touristId;

   /**
    * 游客名
    */
   private String touristName;

controller

@Autowired
TouristDao touristDao;

/**
* 随机生成游客名
* @return
*/
@RequestMapping(value = "/tourist",method = RequestMethod.GET)
@ResponseBody
public Tourist selectTouristName(){
Tourist touristName = touristDao.selectByPrimaryKey();
   return touristName;
}

postman

刷几次出来结果不同


6.评论页

同一个游客可以多次评价,同一个游客评价作者也可以多次回复

dao

public interface CommentDao {

/**
    * 同一个游客可以多次评价,同一个游客评价作者也可以多次回复
    */
   List<Comment> findComment(Integer touristCommentId);
}

dao.xml

<select id="findComment" resultMap="BaseResultMap">
  SELECT a.author_id,a.author_comment,a.author_name,t.tourist_comment_id,t.tourist_comment
FROM author_message a,tourist_message t
WHERE a.tourist_comment_id=t.tourist_comment_id and t.tourist_comment_id=#{touristCommentId,jdbcType=INTEGER};
</select>

实体类

public class Comment {
private Integer authorId;

   private String authorName;

   private String authorComment;

   private Integer touristCommentId;

   private String touristComment;

controller

@Controller
@RequestMapping("/comment")
public class CommentController {

@Autowired
   CommentDao commentDao;

   /**
    * 留言回复页
    * @param touristCommentId
    * @return
    */
   @RequestMapping(value = "/{touristCommentId}",method = RequestMethod.GET)
@ResponseBody
   public List<Comment> selectWork(@PathVariable("touristCommentId") Integer touristCommentId){
List<Comment> comment = commentDao.findComment(touristCommentId);
       return comment;
   }

postman

明天计划的事情:完成任务三
遇到的问题:无

收获:

学会使用order by rand sql语句查询随机函数


返回列表 返回列表
评论

    分享到