——————————DescriptionStart——————————
运行环境 Java≥8、MySQL≥5.7、Tomcat≥8
开发工具 eclipse/idea/myeclipse/sts等均可配置运行
适用 课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SSM+Maven书城管理系统(java+ssm+layui+jsp+mysql)
项目介绍
基于SSM的网上书城系统
系统分为用户和管理员
主要实现管理员;个人中心、用户管理、图书分类管理、图书信息管理、图书评价管理、系统管理、订单管理,
用户;个人中心、图书评价管理、我的收藏管理、订单管理、前台首页;首页、图书信息、图书资讯、我的、跳转到后台、购物车、在线客服等信息管理功能。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
数据库:MySql 5.7/8.0等版本均可;
技术栈
后端:SSM(Spring+SpringMVC+Mybatis)
前端:JSP+CSS+JS+JQUERY+Layui
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 @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)); } @RequestMapping("/info/{id}") public R info (@PathVariable("id") String id) { UserEntity user = userService.selectById(id); return R.ok().put("data" , user); } @RequestMapping("/session") public R getCurrUser (HttpServletRequest request) { Long id = (Long)request.getSession().getAttribute("userId" ); UserEntity user = userService.selectById(id); return R.ok().put("data" , user); } @PostMapping("/save") public R save (@RequestBody UserEntity user) { if (userService.selectOne(new EntityWrapper<UserEntity>().eq("username" , user.getUsername())) !=null ) { return R.error("用户已存在" ); } userService.insert(user); return R.ok(); } @RequestMapping("/update")
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 * @email */ @RestController @RequestMapping("/discusstushuxinxi") public class DiscusstushuxinxiController { @Autowired private DiscusstushuxinxiService discusstushuxinxiService; @RequestMapping("/page") public R page (@RequestParam Map<String, Object> params,DiscusstushuxinxiEntity discusstushuxinxi, HttpServletRequest request) { EntityWrapper<DiscusstushuxinxiEntity> ew = new EntityWrapper<DiscusstushuxinxiEntity>(); PageUtils page = discusstushuxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, discusstushuxinxi), params), params)); request.setAttribute("data" , page); return R.ok().put("data" , page); } @IgnoreAuth @RequestMapping("/list") public R list (@RequestParam Map<String, Object> params,DiscusstushuxinxiEntity discusstushuxinxi, HttpServletRequest request) { EntityWrapper<DiscusstushuxinxiEntity> ew = new EntityWrapper<DiscusstushuxinxiEntity>(); PageUtils page = discusstushuxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, discusstushuxinxi), params), params)); request.setAttribute("data" , page); return R.ok().put("data" , page); } @RequestMapping("/lists") public R list ( DiscusstushuxinxiEntity discusstushuxinxi) { EntityWrapper<DiscusstushuxinxiEntity> ew = new EntityWrapper<DiscusstushuxinxiEntity>(); ew.allEq(MPUtil.allEQMapPre( discusstushuxinxi, "discusstushuxinxi" )); return R.ok().put("data" , discusstushuxinxiService.selectListView(ew)); } @RequestMapping("/query")
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 * @return */ @RequestMapping("/follow/{tableName}/{columnName}") @IgnoreAuth public R getFollowByOption (@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName, @RequestParam String columnValue) { Map<String, Object> params = new HashMap<String, Object>(); params.put("table" , tableName); params.put("column" , columnName); params.put("columnValue" , columnValue); Map<String, Object> result = commonService.getFollowByOption(params); return R.ok().put("data" , result); } @RequestMapping("/sh/{tableName}") public R sh (@PathVariable("tableName") String tableName, @RequestBody Map<String, Object> map) { map.put("table" , tableName); commonService.sh(map); return R.ok(); } @RequestMapping("/remind/{tableName}/{columnName}/{type}") @IgnoreAuth public R remindCount (@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName, @PathVariable("type") String type,@RequestParam Map<String, Object> map) { map.put("table" , tableName); map.put("column" , columnName); map.put("type" , type); if (type.equals("2" )) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd" ); Calendar c = Calendar.getInstance(); Date remindStartDate = null ; Date remindEndDate = null ; if (map.get("remindstart" )!=null ) { Integer remindStart = Integer.parseInt(map.get("remindstart" ).toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 } @RequestMapping("/option/{tableName}/{columnName}") @IgnoreAuth public R getOption (@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName,String level,String parent) { Map<String, Object> params = new HashMap<String, Object>(); params.put("table" , tableName); params.put("column" , columnName); if (StringUtils.isNotBlank(level)) { params.put("level" , level); } if (StringUtils.isNotBlank(parent)) { params.put("parent" , parent); } List<String> data = commonService.getOption(params); return R.ok().put("data" , data); } @RequestMapping("/follow/{tableName}/{columnName}") @IgnoreAuth public R getFollowByOption (@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName, @RequestParam String columnValue) { Map<String, Object> params = new HashMap<String, Object>(); params.put("table" , tableName); params.put("column" , columnName); params.put("columnValue" , columnValue); Map<String, Object> result = commonService.getFollowByOption(params); return R.ok().put("data" , result); }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 @RestController @RequestMapping("/news") public class NewsController { @Autowired private NewsService newsService;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 @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) { 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("退出成功" ); }
——————————PayStart——————————
项目链接: https://javayms.github.io?id=061023491103200xl https://javayms.pages.dev?id=061023491103200xl