javascript
【SpringBoot搭建个人博客】- 相册管理(九)
博客地址:ONESTARの客棧
源碼領(lǐng)取方式一:
- 掃一掃文末二維碼,關(guān)注公眾號【編程日刊】,后臺回復(fù)【博客】,即可領(lǐng)取源碼
源碼領(lǐng)取方式二:
-  前端頁面源碼地址:https://github.com/oneStarLR/myblog-page 
-  以jpa為持久層源碼地址:https://github.com/oneStarLR/myblog-jpa 
-  以mybatis為持久層源碼地址:https://github.com/oneStarLR/myblog-mybaits 
歡迎給star以鼓勵(^_?)☆
相冊管理和友鏈管理一樣,查詢、添加、編輯、刪除照片,和友鏈管理幾乎一樣,比較簡單,不分析,直接給出所有代碼
一、相冊管理持久層接口
在dao包下創(chuàng)建PictureDao接口,代碼如下:
package com.star.dao;import com.star.entity.Picture; import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository;import java.util.List;/*** @Description:* @Date: Created in 11:42 2020/6/15* @Author: ONESTAR* @QQ群: 530311074* @URL: https://onestar.newstar.net.cn/*/ @Mapper @Repository public interface PictureDao {//查詢照片List<Picture> listPicture();//添加圖片int savePicture(Picture picture);//根據(jù)id查詢照片Picture getPicture(Long id);//編輯修改相冊int updatePicture(Picture picture);//刪除照片void deletePicture(Long id);}二、相冊管理mapper
在mapper文件夾下創(chuàng)建PictureDao.xml文件,編寫SQL,如下:
<?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="com.star.dao.PictureDao"><!--查詢所有照片--><select id="listPicture" resultType="com.star.entity.Picture">select * from myblog.t_picture order by t_picture.id desc</select><!--添加圖片--><insert id="savePicture" parameterType="com.star.entity.Picture">insert into myblog.t_picture (picturename,picturetime,pictureaddress,picturedescription)values (#{picturename},#{picturetime},#{pictureaddress},#{picturedescription})</insert><!--根據(jù)id查詢照片--><select id="getPicture" resultType="com.star.entity.Picture">select * from myblog.t_picture p where p.id = #{id}</select><!--編輯修改相冊--><update id="updatePicture" parameterType="com.star.entity.Picture">update myblog.t_pictureset picturename = #{picturename}, picturetime = #{picturetime}, pictureaddress = #{pictureaddress}, picturedescription = #{picturedescription}where id = #{id};</update><!--刪除照片--><delete id="deletePicture" >delete from myblog.t_picture where id = #{id}</delete></mapper>三、相冊管理業(yè)務(wù)層
業(yè)務(wù)層接口
在service包下創(chuàng)建PictureService接口,代碼如下:
package com.star.service;import com.star.entity.Picture;import java.util.List;/*** @Description: 照片墻業(yè)務(wù)層接口* @Date: Created in 11:31 2020/6/15* @Author: ONESTAR* @QQ群: 530311074* @URL: https://onestar.newstar.net.cn/*/ public interface PictureService {//查詢照片List<Picture> listPicture();//添加圖片int savePicture(Picture picture);//根據(jù)id查詢照片Picture getPicture(Long id);//編輯修改相冊int updatePicture(Picture picture);//刪除照片void deletePicture(Long id);}接口實(shí)現(xiàn)類
在Impl包下創(chuàng)建PictureServiceImpl類實(shí)現(xiàn)PictureService接口,代碼如下:
package com.star.service.Impl;import com.star.dao.PictureDao; import com.star.entity.Picture; import com.star.service.PictureService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;import java.util.List;/*** @Description: 照片墻業(yè)務(wù)層接口實(shí)現(xiàn)類* @Date: Created in 11:41 2020/6/15* @Author: ONESTAR* @QQ群: 530311074* @URL: https://onestar.newstar.net.cn/*/ @Service public class PictureServiceImpl implements PictureService {@Autowiredprivate PictureDao pictureDao;@Overridepublic List<Picture> listPicture() {return pictureDao.listPicture();}@Overridepublic int savePicture(Picture picture) {return pictureDao.savePicture(picture);}@Overridepublic Picture getPicture(Long id) {return pictureDao.getPicture(id);}@Overridepublic int updatePicture(Picture picture) {return pictureDao.updatePicture(picture);}@Overridepublic void deletePicture(Long id) {pictureDao.deletePicture(id);} }四、相冊管理控制器
在admin包下創(chuàng)建PictureController類,代碼如下:
package com.star.controller.admin;import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.star.entity.Picture; import com.star.service.PictureService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.mvc.support.RedirectAttributes;import javax.validation.Valid; import java.util.List;/*** @Description: 照片墻后臺管理控制器* @Date: Created in 11:30 2020/6/15* @Author: ONESTAR* @QQ群: 530311074* @URL: https://onestar.newstar.net.cn/*/ @Controller @RequestMapping("/admin") public class PictureController {@Autowiredprivate PictureService pictureService;// 查詢照片列表@GetMapping("/pictures")public String pictures(Model model, @RequestParam(defaultValue = "1",value = "pageNum") Integer pageNum) {PageHelper.startPage(pageNum,10);List<Picture> listFriendLink = pictureService.listPicture();PageInfo<Picture> pageInfo = new PageInfo<Picture>(listFriendLink);model.addAttribute("pageInfo",pageInfo);return "admin/pictures";}// 跳轉(zhuǎn)新增頁面@GetMapping("/pictures/input")public String input(Model model) {model.addAttribute("picture", new Picture());return "admin/pictures-input";}// 照片新增@PostMapping("/pictures")public String post(@Valid Picture picture, BindingResult result, RedirectAttributes attributes){if(result.hasErrors()){return "admin/pictures-input";}int P = pictureService.savePicture(picture);if (P == 0 ) {attributes.addFlashAttribute("message", "新增失敗");} else {attributes.addFlashAttribute("message", "新增成功");}return "redirect:/admin/pictures";}// 跳轉(zhuǎn)照片編輯頁面@GetMapping("/pictures/{id}/input")public String editInput(@PathVariable Long id, Model model) {model.addAttribute("picture", pictureService.getPicture(id));return "admin/pictures-input";}// 編輯相冊@PostMapping("/pictures/{id}")public String editPost(@Valid Picture picture, RedirectAttributes attributes) {int P = pictureService.updatePicture(picture);if (P == 0 ) {attributes.addFlashAttribute("message", "編輯失敗");} else {attributes.addFlashAttribute("message", "編輯成功");}return "redirect:/admin/pictures";}// 刪除照片@GetMapping("/pictures/{id}/delete")public String delete(@PathVariable Long id, RedirectAttributes attributes){pictureService.deletePicture(id);attributes.addFlashAttribute("message", "刪除成功");return "redirect:/admin/pictures";}}五、前后端交互
前端只給出部分代碼,詳細(xì)可以下載項(xiàng)目源碼查看:https://github.com/oneStarLR/myblog-mybatis
- 新增跳轉(zhuǎn)
- 新增提交表單
- 編輯刪除
- 查詢相冊列表
- 分頁查詢
六、運(yùn)行訪問
運(yùn)行項(xiàng)目,訪問?http://localhost:8080/admin,?登錄后點(diǎn)擊相冊管理,可以對照片進(jìn)行增、刪、改、查
至此,SpringBoot搭建個人博客的友相冊管理開發(fā)完成,下一篇將講述前端頁面訪問
【點(diǎn)關(guān)注,不迷路,歡迎持續(xù)關(guān)注本站!】
總結(jié)
以上是生活随笔為你收集整理的【SpringBoot搭建个人博客】- 相册管理(九)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: jquery.offset()使用方法总
- 下一篇: Linux下使用find命令查找图片
