目录
博客主页: 南来_北往
🔥系列专栏:Spring Boot实战
前言
自互联网的发展至今,其基础理论与技术都已完善,并积极参与了整个社会各个领域。它容许信息根据媒体传播,并和信息可视化工具一起为大家提供优质的服务。对于信息多头管理、差错率高、信息安全系数差、工作强度大、用时费劲等诸多问题,摄影分享网站能够高效管理,使信息管理方法更为科学和规范化。
在IDEA环境里,摄影分享网站应用Java语言表达开展代码编写,SpringBoot作为主要后台框架,并用MySQL建立数据分析表来储存系统产生的数据信息。该系统能够提供信息表明以及相应的服务项目
总而言之,摄影分享网站规范化管理信息具备安全性强、工作效率高、内存空间大、成本费用低等特点。它能够降低信息人力成本,完成信息管理。
关键词:摄影分享网站;SpringBoot框架,MySQL
数据库设计
一般来说,对用户进行调查,了解其需求,主要还是完成功能上的分析设计,殊不知,设计功能时,也要展示对数据库的设计。数据库服务于程序,它可以按照设定的规则对程序的数据进行保存,因此,也可以说数据库就是程序相关数据的集合。为了保证程序的高质量,数据库提供的数据存储服务也需要快速响应,同时数据信息也要安全合法可靠,所以设计一个数据库这样的任务也需要高度重视,并花时间和精力去努力完成。毕竟这影响到后期程序的开发和使用。试想而知,假设设计一个不好的数据库,遇到的问题将会有:第一,面对信息处理,会有着繁琐的业务逻辑,延长事务处理时间。第二:程序编码期间,将会产生更多的代码去完成数据处理的功能,产生大量的数据冗余,而且也不方便注释代码,还会占用更多的存储空间。综上所述,设计出合理的数据库是多么的重要。
(1)下图是活动实体和其具备的属性。
活动实体属性图
(2)下图是用户实体和其具备的属性。
用户实体属性图
(3)下图是图片素材留言实体和其具备的属性。
图片素材留言实体属性图
(4)下图是活动收藏实体和其具备的属性。
活动收藏实体属性图
(5)下图是论坛实体和其具备的属性。
论坛实体属性图
(6)下图是视频素材留言实体和其具备的属性。
视频素材留言实体属性图
(7)下图是视频素材实体和其具备的属性。
视频素材实体属性图
(8)下图是图片素材收藏实体和其具备的属性。
图片素材收藏实体属性图
(9)下图是活动留言实体和其具备的属性。
活动留言实体属性图
(10)下图是公告资讯实体和其具备的属性。
公告资讯实体属性图
(11)下图是视频素材收藏实体和其具备的属性。
视频素材收藏实体属性图
(12)下图是活动报名实体和其具备的属性。
活动报名实体属性图
(13)下图是图片素材实体和其具备的属性。
图片素材实体属性图
系统实现
如图5.1显示的就是用户信息管理页面,此页面提供给管理员的功能有:用户信息的查询管理,可以删除用户信息、修改用户信息、新增用户信息,
还进行了对用户名称的模糊查询的条件
如图5.2显示的就是图片素材管理页面,此页面提供给管理员的功能有:查看已发布的图片素材数据,修改图片素材,图片素材作废,即可删除,还进行了对图片素材名称的模糊查询 图片素材信息的类型查询等等一些条件。
如图5.3显示的就是视频素材管理页面,此页面提供给管理员的功能有:根据视频素材进行条件查询,还可以对视频素材进行新增、修改、查询操作等等。
如图5.4显示的就是公告信息管理页面,此页面提供给管理员的功能有:根据公告信息进行新增、修改、查询操作等等。
代码实现
@RequestMapping("users")
@RestController
public class UserController{
@Autowired
private UserService userService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
/**
* 注册
*/
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
/**
* 列表
*/
@RequestMapping("/list")
public R list( UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
ew.allEq(MPUtil.allEQMapPre( user, "user"));
return R.ok().put("data", userService.selectListView(ew));
}
/**
* 保存
*/
@PostMapping("/save")
public R save(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
userService.updateById(user);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
源码获取
大家点赞、收藏、关注、评论啦 、👇🏻获取联系方式在文章末尾👇🏻