发表于: 2019-11-03 20:44:38
1 602
今天完成的事情:
完成后续接口功能
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语句查询随机函数
评论