cms项目技术心得!

技术一:轮播图的管理

在Mysql数据库中。建立一个存放轮播图的一个表格。设计表格的字段分别为:sql

//图片的id(编号)
private Integer imgid;
//图片的路径
private String storepath;
//图片的名称
private String storename;
//图片的介绍(描述)
private String intro;
//是否启用 true:启用 false:禁用
private Boolean isenabled;
//录入时间
private Date inputdate = new Date();
//上传的图片文件(和数据库没有关系,咱们只是经过这个字段接收文件)
private MultipartFile fileImg;数据库

而后咱们在经过Spring框架,须要配置applicationContext.xml  中要须要导入jar包并却要注入jdbcTemplate。而后咱们经过jdbcTemplate操做MySql数据库进行轮播图的CRUD!app

而后须要注意的一点是咱们在Controller层操做轮播图的上传这点咱们须要解决上传的轮播图的名称问题:框架

//1.拿到相应的文件
MultipartFile fileImg = images.getFileImg();
//2.拿到文件的名称
String fileName = fileImg.getOriginalFilename();
//3.拿到文件的扩展名名
String extName = FilenameUtils.getExtension(fileName);
//4.获取随机名字
String uuid = UUID.randomUUID().toString();
//5.拼接一个全新的名字
String newFileName = uuid+"."+extName;
//二.解决上传的路径问题
//2.1 获取真是路径
String realPath = req.getServletContext().getRealPath("/轮播图存放的真是路径");
//2.2 建立文件
File file = new File(realPath, newFileName);
//2.3 建立父文件路径
File parentFile = file.getParentFile();dom

//判断这个父文件是否存在
if (!parentFile.exists()) {ui

//不存在就建立一个
parentFile.mkdirs();
}spa

fileImg.transferTo(file);

//添加数据
//1.添加名称
images.setStorename(fileName);
//2.添加地址 
images.setStorepath("/轮播图存放的真是路径"+newFileName);设计

同时咱们在对轮播图进行删除时也须要注意一下(咱们删除前须要把上传的图片也一块儿删除):xml

//1.拿到我们的Image数据
Images images = imagesService.findOne(id);
if(images!=null){
//2.拿到真实的路径
String realPath = req.getServletContext().getRealPath("");
//3.拿到文件路径
String filePath = images.getStorepath();
//4.获取到文件
File file = new File(realPath+filePath);
//5.删除文件
file.delete();
}图片

注意上面叙述的两点后,咱们就能够很好的对轮播图进行添加与删除操做。