Java项目:农资采购销售系统(java+SSM+Easyui+maven+Mysql)
源码获取:博客首页 "资源" 里下载!
项目描述:
一个完整的农资采购销售系统,系统分为前台会员注册登陆,农资信息浏览,农资详情信息查看,加入购物车,提交订单,付款购买农资等;后台管理员对人员信息的管理,首页图片管理(系统可配置化),农资订单管理,图标统计,农资信息管理
运行环境:
jdk8+tomca8+mysql+IntelliJ IDEA+maven
项目技术:
spring+spring mvc+mybatis+jquery+jquery.easyui.min.js
前端登录:http://localhost:8080/snack/shop/index
后台登录:http://localhost:8080/snack//admin/login/adminLogin
商品参数管理代码:
/*** Item Controller*/
@Controller
@RequestMapping("/item")
public class ItemController extends BaseController {@Autowiredprivate ItemService itemService;@Autowiredprivate ItemCategoryService itemCategoryService;@RequestMapping("/findbysql")public String findBySql(Model model, Item item) {String sql = "select * from item where 1=1 and isDelete = 0";if (!isEmpty(item.getName())) {sql += " and name like '%" + item.getName() + "%' ";}sql += " order by id";Pager<Item> itemList = itemService.findBySqlRerturnEntity(sql);model.addAttribute("pagers", itemList);model.addAttribute("obj", item);return "item/itemList";}/*** 转到添加商品页面** @param model* @return*/@RequestMapping("/add")public String addItem(Model model) {String sql = "select * from item_category where isDelete = 0 and pid is not null order by id";Pager<ItemCategory> pagers = itemCategoryService.findBySqlRerturnEntity(sql);model.addAttribute("types", pagers);return "item/addItem";}/*** 执行添加操作** @param item* @param files CommonsMultipartFile用于文件上传* @return*/@RequestMapping("/exadd")public String exaddItem(Item item, @RequestParam("file") CommonsMultipartFile[] files, HttpServletRequest request) throws IOException {itemCommon(item, files, request);item.setGmNum(0);item.setIsDelete(0);item.setScNum(0);itemService.insert(item);return "redirect:/item/findbysql.action";}/*** 跳转到修改商品页面** @param id 选中的商品主键* @param model* @return*/@RequestMapping("/update")public String updateItem(Integer id, Model model) {Item obj = itemService.load(id);String sql = "select * from item_category where isDelete = 0 and pid is not null order by id";List<ItemCategory> listBySqlReturnEntity = itemCategoryService.listBySqlReturnEntity(sql);model.addAttribute("types", listBySqlReturnEntity);model.addAttribute("obj", obj);return "/item/updateItem";}/*** 执行修改** @param item* @param files* @param request* @return* @throws IOException*/@RequestMapping("exUpdateItem")public String exUpdateItem(Item item, @RequestParam("file") CommonsMultipartFile[] files, HttpServletRequest request) throws IOException {itemCommon(item, files, request);itemService.updateById(item);return "redirect:/item/findbysql.action";}/*** 商品下架* @param id* @return*/@RequestMapping("/remove")public String removeItem(Integer id) {String sql = "update item set isDelete = 1 where id=";String sql1 = Integer.toString(id) ;itemService.updateBysql(sql+sql1);return "redirect:/item/findbysql.action";}/*** 上传文件的公共方法** @param item* @param files* @param request* @throws IOException*/private void itemCommon(Item item, @RequestParam("file") CommonsMultipartFile[] files, HttpServletRequest request) throws IOException {if (files.length > 0) {for (int s = 0; s < files.length; s++) {String n = UUIDUtils.create();String path = SystemContext.getRealPath() + "\\resource\\ueditor\\upload\\" + n + files[s].getOriginalFilename();File newFile = new File(path);//通过CommonsMultipartFile的方法直接写文件files[s].transferTo(newFile);if (s == 0) {item.setUrl1(request.getContextPath() + "\\resource\\ueditor\\upload\\" + n + files[s].getOriginalFilename());}if (s == 1) {item.setUrl2(request.getContextPath() + "\\resource\\ueditor\\upload\\" + n + files[s].getOriginalFilename());}if (s == 2) {item.setUrl3(request.getContextPath() + "\\resource\\ueditor\\upload\\" + n + files[s].getOriginalFilename());}if (s == 3) {item.setUrl4(request.getContextPath() + "\\resource\\ueditor\\upload\\" + n + files[s].getOriginalFilename());}if (s == 4) {item.setUrl5(request.getContextPath() + "\\resource\\ueditor\\upload\\" + n + files[s].getOriginalFilename());}}}ItemCategory byId = itemCategoryService.getById(item.getCategoryIdTwo());item.setCategoryIdOne(byId.getPid());}@RequestMapping("/shoplist")public String shoplist(String condition ,Item item,Model model,String price,String gmNum){String sql = "select * from item where isDelete=0";if(!isEmpty(item.getCategoryIdTwo())){sql+=" and category_id_two="+item.getCategoryIdTwo();}if(!isEmpty(condition)){sql+=" and name like '%"+condition+"%'";}if(!isEmpty(price)){sql+=" order by (price+0) ";}if(!isEmpty(gmNum)){sql+=" order by gmNum desc";}Pager<Item> itemList = itemService.findBySqlRerturnEntity(sql);model.addAttribute("pagers",itemList);model.addAttribute("obj",item);// model.addAttribute()return "/item/shoplist";}/*** 商品详情页面* @param item* @param request* @return*/@RequestMapping("/view")public String view(Item item ,HttpServletRequest request){Item itemObj = itemService.getById(item.getId());request.setAttribute("obj",itemObj);return "item/viewlist";}
}
订单管理代码:
/*** 订单controller*/
@Controller
@RequestMapping("/itemOrder")
public class ItemOrderController extends BaseController {@Autowiredprivate ItemOrderService itemOrderService;@Autowiredprivate UserService userService;@Autowiredprivate ItemService itemService;@Autowiredprivate CarService carService;@Autowiredprivate OrderDetailService orderDetailService;@RequestMapping("/findBySql")public String itemOrderList(HttpServletRequest request,ItemOrder itemOrder){String sql = "select * from item_order where isDelete=0";if (!isEmpty(itemOrder.getCode())){sql+=" and code like '%"+itemOrder.getCode()+"%'";}sql+=" order by id desc";Pager<ItemOrder> data = itemOrderService.findBySqlRerturnEntity(sql);request.setAttribute("pagers",data);request.setAttribute("obj",itemOrder);return "/itemOrder/itemOrderList";}@RequestMapping("/my")public String my(HttpServletRequest request, Model model){//判断当前用户是否登录Object userId = request.getSession().getAttribute("userId");if(userId==null){return "login/uLogin";}Integer id = Integer.valueOf(userId.toString());//查询全部订单String sql = "select * from item_order where isDelete=0 and user_id="+id+" order by id";//Pager<ItemOrder> itemOrderAll = itemOrderService.findBySqlRerturnEntity(sql);List<ItemOrder> itemOrderAll = itemOrderService.listBySqlReturnEntity(sql);//查询待发货订单String sql1 = "select * from item_order where isDelete=0 and status=0 and user_id="+id+" order by id";//Pager<ItemOrder> itemOrder0 = itemOrderService.findBySqlRerturnEntity(sql);List<ItemOrder> itemOrder0 = itemOrderService.listBySqlReturnEntity(sql1);//查询已取消订单String sql2 = "select * from item_order where isDelete=0 and status=1 and user_id="+id+" order by id";// Pager<ItemOrder> itemOrder1 = itemOrderService.findBySqlRerturnEntity(sql);List<ItemOrder> itemOrder1 = itemOrderService.listBySqlReturnEntity(sql2);//查询已发货订单String sql3 = "select * from item_order where isDelete=0 and status=2 and user_id="+id+" order by id";// Pager<ItemOrder> itemOrder2 = itemOrderService.findBySqlRerturnEntity(sql);List<ItemOrder> itemOrder2 = itemOrderService.listBySqlReturnEntity(sql3);//查询已收货订单String sql4 = "select * from item_order where isDelete=0 and status=3 and user_id="+id+" order by id";// Pager<ItemOrder> itemOrder3 = itemOrderService.findBySqlRerturnEntity(sql);List<ItemOrder> itemOrder3 = itemOrderService.listBySqlReturnEntity(sql4);//查询已评价订单String sql5 = "select * from item_order where isDelete=0 and status=4 and user_id="+id+" order by id";// Pager<ItemOrder> itemOrder4 = itemOrderService.findBySqlRerturnEntity(sql);List<ItemOrder> itemOrder4 = itemOrderService.listBySqlReturnEntity(sql5);/*request.setAttribute("add",itemOrderAll);request.setAttribute("add0",itemOrder0);request.setAttribute("add1",itemOrder1);request.setAttribute("add2",itemOrder2);request.setAttribute("add3",itemOrder3);request.setAttribute("add4",itemOrder4);*/model.addAttribute("add",itemOrderAll);model.addAttribute("add0",itemOrder0);model.addAttribute("add1",itemOrder1);model.addAttribute("add2",itemOrder2);model.addAttribute("add3",itemOrder3);model.addAttribute("add4",itemOrder4);return "/item/view";}/*** 结算提交* @param list* @param request* @return*/@RequestMapping("/exAdd")@ResponseBodypublic String repairStart(@RequestBody List<CarDto> list,HttpServletRequest request) {//判断是否登录,没有登录返回0Object userId = request.getSession().getAttribute("userId");JSONObject json = new JSONObject();if (userId == null) {json.put(Consts.RES, 0);return json.toJSONString();}//判断用户是否填写了地址Integer id = Integer.valueOf(userId.toString());User user = userService.getById(id);if(StringUtil.isEmpty(user.getAddress())){json.put(Consts.RES,2);}//生成订单表List<Integer> ids = new ArrayList<Integer>();// Double b = 0.0; //价格BigDecimal b = new BigDecimal(0);for (CarDto carDto:list){ids.add(carDto.getId());Car car = carService.getById(carDto.getId());// b+=car.getPrice()*carDto.getNum();b =b.add(new BigDecimal(car.getPrice()).multiply(new BigDecimal(carDto.getNum())));}ItemOrder itemOrder = new ItemOrder();itemOrder.setUserId(id);SimpleDateFormat sd = new SimpleDateFormat("yyyyMMddHHmmss");itemOrder.setCode(sd.format(new Date()));itemOrder.setAddTime(new Date());itemOrder.setTotal(b.setScale(2,BigDecimal.ROUND_HALF_UP).toString());itemOrder.setIsDelete(0);itemOrder.setStatus(0);itemOrderService.insert(itemOrder);//生成订单详情表if(!CollectionUtils.isEmpty(ids)){for (CarDto carDto:list){Car load = carService.load(carDto.getId());OrderDetail orderDetail = new OrderDetail();orderDetail.setItemId(load.getItemId());orderDetail.setOrderId(itemOrder.getId());orderDetail.setStatus(0);orderDetail.setNum(load.getNum());orderDetail.setTotal(String.valueOf(carDto.getNum()*load.getPrice()));orderDetailService.insert(orderDetail);//修改商品成交数Item item = itemService.getById(load.getItemId());item.setGmNum(item.getGmNum()+carDto.getNum());//删除购物车carService.deleteById(carDto.getId());}}json.put(Consts.RES,1);return json.toJSONString();}/*** 取消订单* @param model* @param id* @return*/@RequestMapping("/qx")public String itemOrderqx(Model model,Integer id){ItemOrder obj = itemOrderService.getById(id);obj.setStatus(1);itemOrderService.updateById(obj);model.addAttribute("obj",obj);return "redirect:/itemOrder/my.action";}/*** 后台发货* @param id* @return*/@RequestMapping("/fh")public String itemOrderfh(Integer id){ItemOrder obj = itemOrderService.getById(id);obj.setStatus(2);itemOrderService.updateById(obj);return "redirect:/itemOrder/findBySql.action";}/*** 用户收货* @param id* @return*/@RequestMapping("/sh")public String itemOrdersh(Integer id){ItemOrder obj = itemOrderService.getById(id);obj.setStatus(3);itemOrderService.updateById(obj);return "redirect:/itemOrder/my.action";}/*** 进入商品评价页面* @param id* @param model* @return*/@RequestMapping("/pj")public String itemOrderpj(Integer id,Model model,Integer orderId){model.addAttribute("id",id);model.addAttribute("orderId",orderId);return "itemOrder/pj";}
}
系统控制器用户 登录、注销、修改等:
/*** 系统控制器* @author yy**/
@RequestMapping("/system")
@Controller
public class SystemController {@Autowiredprivate OperaterLogService operaterLogService;@Autowiredprivate UserService userService;@Autowiredprivate DatabaseBakService databaseBakService;@Autowiredprivate StaffService staffService;@Autowiredprivate OrderAuthService orderAuthService;private Logger log = LoggerFactory.getLogger(SystemController.class);/*** 登录页面* @param model* @return*/@RequestMapping(value="/login",method=RequestMethod.GET)public String login(Model model){model.addAttribute("loginTypes", LoginType.values());return "admin/system/login";}/*** 用户登录提交表单处理方法* @param request* @param cpacha* @return*/@RequestMapping(value="/login",method=RequestMethod.POST)@ResponseBodypublic Result<Boolean> login(HttpServletRequest request,String username,String password,String cpacha,Integer type){if(StringUtils.isEmpty(username)){return Result.error(CodeMsg.ADMIN_USERNAME_EMPTY);}if(StringUtils.isEmpty(password)){return Result.error(CodeMsg.ADMIN_PASSWORD_EMPTY);}//表示实体信息合法,开始验证验证码是否为空if(StringUtils.isEmpty(cpacha)){return Result.error(CodeMsg.CPACHA_EMPTY);}//说明验证码不为空,从session里获取验证码Object attribute = request.getSession().getAttribute("admin_login");if(attribute == null){return Result.error(CodeMsg.SESSION_EXPIRED);}//表示session未失效,进一步判断用户填写的验证码是否正确if(!cpacha.equalsIgnoreCase(attribute.toString())){return Result.error(CodeMsg.CPACHA_ERROR);}if(type == LoginType.ADMINISTRATOR.getCode()){//表示验证码正确,开始查询数据库,检验密码是否正确User findByUsername = userService.findByUsername(username);//判断是否为空if(findByUsername == null){return Result.error(CodeMsg.ADMIN_USERNAME_NO_EXIST);}//表示用户存在,进一步对比密码是否正确if(!findByUsername.getPassword().equals(password)){return Result.error(CodeMsg.ADMIN_PASSWORD_ERROR);}//表示密码正确,接下来判断用户状态是否可用if(findByUsername.getStatus() == User.ADMIN_USER_STATUS_UNABLE){return Result.error(CodeMsg.ADMIN_USER_UNABLE);}//检查用户所属角色状态是否可用if(findByUsername.getRole() == null || findByUsername.getRole().getStatus() == Role.ADMIN_ROLE_STATUS_UNABLE){return Result.error(CodeMsg.ADMIN_USER_ROLE_UNABLE);}//检查用户所属角色的权限是否存在if(findByUsername.getRole().getAuthorities() == null || findByUsername.getRole().getAuthorities().size() == 0){return Result.error(CodeMsg.ADMIN_USER_ROLE_AUTHORITES_EMPTY);}//检查一切符合,可以登录,将用户信息存放至sessionrequest.getSession().setAttribute(SessionConstant.SESSION_USER_LOGIN_KEY, findByUsername);request.getSession().setAttribute("loginType",type);//销毁session中的验证码request.getSession().setAttribute("admin_login", null);//将登陆记录写入日志库operaterLogService.add("用户【"+username+"】于【" + StringUtil.getFormatterDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "】登录系统!");log.info("用户成功登录,user = " + findByUsername);}else{Staff byJobNumber = staffService.findByNameAndIsStatus(username);//判断是否为空if(byJobNumber == null){return Result.error(CodeMsg.ADMIN_USERNAME_NO_EXIST);}//表示用户存在,进一步对比密码是否正确if(!byJobNumber.getPassword().equals(password)){return Result.error(CodeMsg.ADMIN_PASSWORD_ERROR);}//检查用户所属角色状态是否可用if(byJobNumber.getRole() == null || byJobNumber.getRole().getStatus() == Role.ADMIN_ROLE_STATUS_UNABLE){return Result.error(CodeMsg.ADMIN_USER_ROLE_UNABLE);}//检查用户所属角色的权限是否存在if(byJobNumber.getRole().getAuthorities() == null || byJobNumber.getRole().getAuthorities().size() == 0){return Result.error(CodeMsg.ADMIN_USER_ROLE_AUTHORITES_EMPTY);}//检查一切符合,可以登录,将用户信息存放至sessionrequest.getSession().setAttribute(SessionConstant.SESSION_STAFF_LOGIN_KEY, byJobNumber);request.getSession().setAttribute("loginType",type);//销毁session中的验证码request.getSession().setAttribute("admin_login", null);//将登陆记录写入日志库operaterLogService.add("用户【"+username+"】于【" + StringUtil.getFormatterDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "】登录系统!");log.info("员工成功登录,user = " + byJobNumber);}return Result.success(true);}/*** 登录成功后的系统主页* @param model* @return*/@RequestMapping(value="/index")public String index(Model model){model.addAttribute("operatorLogs", operaterLogService.findLastestLog(10));model.addAttribute("userTotal", userService.total());model.addAttribute("operatorLogTotal", operaterLogService.total());model.addAttribute("databaseBackupTotal", databaseBakService.total());model.addAttribute("onlineUserTotal", SessionListener.onlineUserCount);return "admin/system/index";}/*** 注销登录* @return*/@RequestMapping(value="/logout")public String logout(){Integer loginType = (Integer) SessionUtil.get("loginType");if(loginType == LoginType.ADMINISTRATOR.getCode()){User loginedUser = SessionUtil.getLoginedUser();if(loginedUser != null){SessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY, null);}}else if(loginType == LoginType.STAFF.getCode()){Staff loginedStaff = SessionUtil.getLoginedStaff();if(loginedStaff != null){SessionUtil.set(SessionConstant.SESSION_STAFF_LOGIN_KEY,null);}}return "redirect:login";}/*** 无权限提示页面* @return*/@RequestMapping(value="/no_right")public String noRight(){return "admin/system/no_right";}/*** 修改用户个人信息* @return*/@RequestMapping(value="/update_userinfo",method=RequestMethod.GET)public String updateUserInfo(){return "admin/system/update_userinfo";}/*** 修改个人信息保存* @param user* @return*/@RequestMapping(value="/update_userinfo",method=RequestMethod.POST)public String updateUserInfo(User user){User loginedUser = SessionUtil.getLoginedUser();loginedUser.setEmail(user.getEmail());loginedUser.setMobile(user.getMobile());loginedUser.setHeadPic(user.getHeadPic());//首先保存到数据库userService.save(loginedUser);//更新session里的值SessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY, loginedUser);return "redirect:update_userinfo";}/*** 修改密码页面* @return*/@RequestMapping(value="/update_pwd",method=RequestMethod.GET)public String updatePwd(){return "admin/system/update_pwd";}/*** 修改密码表单提交* @param oldPwd* @param newPwd* @return*/@RequestMapping(value="/update_pwd",method=RequestMethod.POST)@ResponseBodypublic Result<Boolean> updatePwd(@RequestParam(name="oldPwd",required=true)String oldPwd,@RequestParam(name="newPwd",required=true)String newPwd){Integer loginType = (Integer) SessionUtil.get("loginType");if(loginType == LoginType.ADMINISTRATOR.getCode()){User loginedUser = SessionUtil.getLoginedUser();if(!loginedUser.getPassword().equals(oldPwd)){return Result.error(CodeMsg.ADMIN_USER_UPDATE_PWD_ERROR);}if(StringUtils.isEmpty(newPwd)){return Result.error(CodeMsg.ADMIN_USER_UPDATE_PWD_EMPTY);}if(newPwd.length()<4 || newPwd.length()>32){return Result.error(CodeMsg.ADMIN_USER_PWD_LENGTH_ERROR);}loginedUser.setPassword(newPwd);//保存数据库userService.save(loginedUser);//更新sessionSessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY, loginedUser);}else{Staff loginedStaff = SessionUtil.getLoginedStaff();Staff staff = staffService.find(loginedStaff.getId());if(!staff.getPassword().equals(oldPwd)){return Result.error(CodeMsg.ADMIN_USER_UPDATE_PWD_ERROR);}if(StringUtils.isEmpty(newPwd)){return Result.error(CodeMsg.ADMIN_USER_UPDATE_PWD_EMPTY);}staff.setPassword(newPwd);CodeMsg codeMsg = ValidateEntityUtil.validate(staff);if (codeMsg.getCode() != CodeMsg.SUCCESS.getCode()){return Result.error(codeMsg);}loginedStaff.setPassword(newPwd);//保存数据库staffService.save(loginedStaff);//更新sessionSessionUtil.set(SessionConstant.SESSION_STAFF_LOGIN_KEY, loginedStaff);}return Result.success(true);}/*** 日志管理列表* @param model* @param operaterLog* @param pageBean* @return*/@RequestMapping(value="/operator_log_list")public String operatorLogList(Model model,OperaterLog operaterLog,PageBean<OperaterLog> pageBean){model.addAttribute("pageBean", operaterLogService.findList(operaterLog, pageBean));model.addAttribute("operator", operaterLog.getOperator());model.addAttribute("title", "日志列表");return "admin/system/operator_log_list";}/*** 验证订单* @param orderSn* @param phone* @return*/@RequestMapping(value="/auth_order",method=RequestMethod.POST)@ResponseBodypublic Result<Boolean> authOrder(@RequestParam(name="orderSn",required=true)String orderSn,@RequestParam(name="phone",required=true)String phone){OrderAuth orderAuth = new OrderAuth();orderAuth.setMac(StringUtil.getMac());orderAuth.setOrderSn(orderSn);orderAuth.setPhone(phone);orderAuthService.save(orderAuth);AppConfig.ORDER_AUTH = 1;return Result.success(true);}/*** 删除操作日志,可删除多个* @param ids* @return*/@RequestMapping(value="/delete_operator_log",method=RequestMethod.POST)@ResponseBodypublic Result<Boolean> delete(String ids){if(!StringUtils.isEmpty(ids)){String[] splitIds = ids.split(",");for(String id : splitIds){operaterLogService.delete(Long.valueOf(id));}}return Result.success(true);}/*** 清空整个日志* @return*/@RequestMapping(value="/delete_all_operator_log",method=RequestMethod.POST)@ResponseBodypublic Result<Boolean> deleteAll(){operaterLogService.deleteAll();return Result.success(true);}
}
源码获取:博客首页 "资源" 里下载!
Java项目:农资采购销售系统(java+SSM+Easyui+maven+Mysql)相关推荐
- 基于javaweb+ssm的农资采购销售系统(java+SSM+Easyui+maven+Mysql)
基于javaweb+ssm的农资采购销售系统(java+SSM+Easyui+maven+Mysql) 项目描述: 一个完整的农资采购销售系统,系统分为前台会员注册登陆,农资信息浏览,农资详情信息查看 ...
- JAVA毕设项目-智慧农业水果销售系统(Vue+Mybatis+Maven+Mysql+sprnig+SpringMVC)
JAVA毕设项目-智慧农业水果销售系统(Vue+Mybatis+Maven+Mysql+sprnig+SpringMVC) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql ...
- JAVA毕设项目html5在线医疗系统(Vue+Mybatis+Maven+Mysql+sprnig+SpringMVC)
JAVA毕设项目html5在线医疗系统(Vue+Mybatis+Maven+Mysql+sprnig+SpringMVC) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql ...
- JAVA毕设项目公立医院绩效考核系统(Vue+Mybatis+Maven+Mysql+sprnig+SpringMVC)
JAVA毕设项目公立医院绩效考核系统(Vue+Mybatis+Maven+Mysql+sprnig+SpringMVC) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + ...
- JAVA毕设项目MVC土特产交易平台系统(Vue+Mybatis+Maven+Mysql+sprnig+SpringMVC)
JAVA毕设项目MVC土特产交易平台系统(Vue+Mybatis+Maven+Mysql+sprnig+SpringMVC) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql ...
- Springboot毕设项目姜太公渔具销售系统54vzvjava+VUE+Mybatis+Maven+Mysql+sprnig)
Springboot毕设项目姜太公渔具销售系统54vzvjava+VUE+Mybatis+Maven+Mysql+sprnig) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mys ...
- Springboot毕设项目海尔空调售后服务系统d70j3java+VUE+Mybatis+Maven+Mysql+sprnig)
Springboot毕设项目海尔空调售后服务系统d70j3java+VUE+Mybatis+Maven+Mysql+sprnig) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + My ...
- Springboot毕设项目考勤打卡系统 k0e7rjava+VUE+Mybatis+Maven+Mysql+sprnig)
Springboot毕设项目考勤打卡系统 k0e7rjava+VUE+Mybatis+Maven+Mysql+sprnig) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql ...
- Springboot毕设项目劳务派遣人事系统gjfr3java+VUE+Mybatis+Maven+Mysql+sprnig)
Springboot毕设项目劳务派遣人事系统gjfr3java+VUE+Mybatis+Maven+Mysql+sprnig) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysq ...
最新文章
- mysql图形化及命令行操作用户权限
- 使用NLPIR 进行中文分词并标注词性
- OpenCV形态morphology的实例(附完整代码)
- OpenGL ES之GLSL常用内建函数
- getClass()和.class的区别
- 三、界面介绍(IVX快速手册)
- 阿里P8亲自教你!mysql列转行
- Django model 字段类型及选项解析(一)
- 优考试在线考试系统计算机,使用优考试在线考试系统解决企业员工考核评比
- 苹果10亿美元收购英特尔手机基带业务 买下一颗iPhone“定芯丸”
- 手写基础排序及查找算法
- mysql建表的字段类型和约束条件
- 软考中级-软件设计师涉及的知识点和笔记
- jdk证书的相关命令
- IE8打开网页慢速度优化
- Latex常见符号对照表
- Java语言高级(第三部分)异常多线程 ->(个人学习记录笔记)
- AJAX 请求 NIDE 搭建简单服务
- 九。温暖地待人,你才会得到意想不到的惊喜结果。
- 8 年 Java 开发含泪刷题,架构岗现在好难进,有点崩溃
热门文章
- Vue.js框架简单读取数据库信息并渲染完成news新闻文章列表以及detail详情页功能(小试牛刀)
- OpenResty上各种测试用例实操(1)
- 在Ubuntu 14.04 64bit上使用网络诊断工具mtr
- 多线程共享全局变量以及锁机制
- yii2框架原生的结合框架使用的图片上传
- BZOJ 1124: [POI2008]枪战Maf(构造 + 贪心)
- vue.js created函数注意事项
- Java笔记(25):设计模式概述
- 使用μJava进行变异体测试
- Objetive-C +load方法研究