检索,首先需要在文本框中输入要检索的名字,所以需要写一个sql文,(后期我们想实现当输入为空时,不做任何操作,所以我们用个javasrcriipt来简单的实现,目前没有更新)
在hearder.html
<form action="selectGoods" th:object="${goodsForm}" method="post"> <input type="text" class="inpt" placeholder="请输入关键字" name="commodityName"/> <input type="submit" value="检索" class="btnS"/> </form>
zai goodsController.java
@RequestMapping(value = "selectGoods", method = RequestMethod.POST) public String selectGoods(Model model,HttpSession session,GoodsForm goodsForm,Device device){ log.info("检索相关商品"); model.addAttribute("commodityType", goodsService.getType()); List<GoodsForm> list=goodsService.searchGoodsListrelative(goodsForm); model.addAttribute("list",list); model.addAttribute("orderTypeId", 1); UVO uvo = (UVO)session.getAttribute("UVO"); if (uvo == null) { uvo = new UVO(); session.setAttribute("UVO", uvo); } CartForm cartForm = new CartForm(); cartForm.setGuestId(uvo.getGuestId()); model.addAttribute("cartList", cartService.searchCartList(cartForm)); model.addAttribute("goodsForm", goodsForm); if(device.isNormal()) { return "shop/list"; } else { return "mobile/list"; }
在goodservice.java
public List<GoodsForm> getType() { List<GoodsForm> result = queryDao.executeForObjectList("Goods.selectType", null); return result;}
public List<GoodsForm> searchGoodsListrelative(GoodsForm frm) { List<GoodsForm> result = queryDao.executeForObjectList("Goods.selectGoodsListrelative", frm); return result;}
在goodsqlmap.xml
<select id="selectGoodsListrelative" parameterClass="cn.agriculture.web.form.GoodsForm" resultClass="cn.agriculture.web.form.GoodsForm"> SELECT commodity.commodity_id as commodityId, commodity.type as commodityTypeId, supplier.supplier_name as supplierName, brand.brand_name as brandName, commodity.commodity_name as commodityName, commodity.weight as weight, commodity.is_gift as isGift, commodity.specifications as specifications, commodity.unit as unit, commodity.benchmark_price as benchmarkPrice, commodity.guide_price as guidePrice, commodity.retail_price as retailPrice, commodity.competition_level as competitionLevel, commodity.note as note, commodity.update_time as updateTime, commodity.update_user as updateUser, commodity.picture_id as pictureId, stock.stock as stock FROM commodity, supplier, brand, stock WHERE commodity.commodity_id = stock.commodity_id AND commodity.supplier_id = supplier.supplier_id AND commodity.brand_id = brand.brand_id AND commodity.commodity_name LIKE '%$commodityName$%' </select>
<select id="selectType" resultClass="cn.agriculture.web.form.GoodsForm"> SELECT commodity_type_name as commodityTypeName, commodity_type_id as commodityTypeId FROM commodity_type </select>
图片插入数据库生成二进制
在commoditycontroller.java
@RequestMapping(value = "addCommodity", method = RequestMethod.POST) public String executeAddCommodity(Model model, @RequestParam(value = "file", required = false) MultipartFile file , @RequestParam(value = "file1", required = false) MultipartFile file1 , @RequestParam(value = "file2", required = false) MultipartFile file2 , @RequestParam(value = "file3", required = false) MultipartFile file3 , @RequestParam(value = "file4", required = false) MultipartFile file4 , @RequestParam(value = "file5", required = false) MultipartFile file5 , @RequestParam(value = "file6", required = false) MultipartFile file6, @RequestParam(value = "attachments", required = false) MultipartFile attachments, HttpSession session, @Valid @ModelAttribute("commodityForm") CommodityForm commodityForm, BindingResult results) throws SQLException, IOException { log.info("添加商品信息"); if(results.hasErrors()){ List<Item> commodityType = itemListComponent.getCommodityType(); model.addAttribute("commodityType", commodityType); List<Item> supplierList = itemListComponent.getSupplierList(); model.addAttribute("supplierList", supplierList); return "manager/commodity/addCommodity";} UVO uvo = (UVO)session.getAttribute("UVO"); commodityForm.setUpdateUser(uvo.getUserName()); Date date = new Date(); SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); commodityForm.setUpdateTime(dateformat.format(date)); commodityForm.setPicture(file.getBytes()); commodityForm.setPicture1(file1.getBytes()); commodityForm.setPicture2(file2.getBytes()); commodityForm.setPicture3(file3.getBytes()); commodityForm.setPicture4(file4.getBytes()); commodityForm.setPicture5(file5.getBytes()); commodityForm.setPicture6(file6.getBytes()); boolean result = commodityService.addCommodity(commodityForm); if(!result) { throw new SQLException("商品信息添加失败!"); } model.addAttribute("list", commodityService.searchCommodityList()); if (!attachments.isEmpty()) { String suffix = attachments.getOriginalFilename().substring(attachments.getOriginalFilename().lastIndexOf(".")); File targetFile = new File(env.getProperty("upload.file.path"), commodityForm.getCommodityId() + suffix); if(!targetFile.exists()){ targetFile.mkdirs(); } attachments.transferTo(targetFile); } return "manager/commodity/commodityList"; } @RequestMapping(value = "initEditCommodity", method = RequestMethod.GET) public String initEditCommodity(Model model, CommodityForm commodityForm) { log.info("修改商品信息初始化"); CommodityForm result = commodityService.searchCommodity(commodityForm); model.addAttribute("commodityForm", result); List<Item> commodityType = itemListComponent.getCommodityType(); model.addAttribute("commodityType", commodityType); List<Item> supplierList = itemListComponent.getSupplierList(); model.addAttribute("supplierList", supplierList); List<Item> brandList = itemListComponent.getBrandList(result.getSupplierId()); model.addAttribute("brandList", brandList); return "manager/commodity/editCommodity"; } @RequestMapping(value = "editCommodity", method = RequestMethod.POST) public String executeEditCommodity(Model model, @RequestParam(value = "file", required = false) MultipartFile file,@RequestParam(value = "file1", required = false) MultipartFile file1,@RequestParam(value = "file2", required = false) MultipartFile file2,@RequestParam(value = "file3", required = false) MultipartFile file3,@RequestParam(value = "file4", required = false) MultipartFile file4,@RequestParam(value = "file5", required = false) MultipartFile file5,@RequestParam(value = "file6", required = false) MultipartFile file6, @RequestParam(value = "attachments", required = false) MultipartFile attachments, HttpSession session, @Valid @ModelAttribute("commodityForm") CommodityForm commodityForm, BindingResult results) throws SQLException, IOException { log.info("修改商品信息"); if(results.hasErrors()){ List<Item> commodityType = itemListComponent.getCommodityType(); model.addAttribute("commodityType", commodityType); List<Item> supplierList = itemListComponent.getSupplierList(); model.addAttribute("supplierList", supplierList); List<Item> brandList = itemListComponent.getBrandList(commodityForm.getSupplierId()); model.addAttribute("brandList", brandList); return "manager/commodity/editCommodity";} UVO uvo = (UVO)session.getAttribute("UVO"); commodityForm.setUpdateUser(uvo.getUserName()); Date date = new Date(); SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); commodityForm.setUpdateTime(dateformat.format(date)); commodityForm.setPicture(file.getBytes()); commodityForm.setPicture1(file1.getBytes()); commodityForm.setPicture2(file2.getBytes()); commodityForm.setPicture3(file3.getBytes()); commodityForm.setPicture4(file4.getBytes()); commodityForm.setPicture5(file5.getBytes()); commodityForm.setPicture6(file6.getBytes()); CommodityForm frm1=commodityService.searchCommodity(commodityForm); commodityForm.setPictureId(frm1.getPictureId()); commodityForm.setPictureId1(frm1.getPictureId1()); commodityForm.setPictureId2(frm1.getPictureId2()); commodityForm.setPictureId3(frm1.getPictureId3()); commodityForm.setPictureId4(frm1.getPictureId4()); commodityForm.setPictureId5(frm1.getPictureId5()); commodityForm.setPictureId6(frm1.getPictureId6()); boolean result = commodityService.editCommodity(commodityForm); if(!result) { throw new SQLException("商品信息更新失败!"); } model.addAttribute("list", commodityService.searchCommodityList()); if (!attachments.isEmpty()) { String suffix = attachments.getOriginalFilename().substring(attachments.getOriginalFilename().lastIndexOf(".")); File targetFile = new File(env.getProperty("upload.file.path"), commodityForm.getCommodityId() + suffix); if(!targetFile.exists()){ targetFile.mkdirs(); } attachments.transferTo(targetFile); } return "manager/commodity/commodityList";
在commodityservice.java
public boolean addCommodity(CommodityForm frm) { if (frm.getPicture().length != 0) { Integer sequee0 = queryDao.executeForObject("Commodity.getSeq", null, Integer.class); String commodityId0 = (String) (frm.getUpdateTime().substring(0, 4) + String.format("%011d", sequee0)); frm.setPictureId(commodityId0); int picResult = updateDao.execute("Commodity.addPicture", frm); if (picResult != 1) { return false; } } if (frm.getPicture1().length != 0) { Integer sequee1 = queryDao.executeForObject("Commodity.getSeq", null, Integer.class); String commodityId1 = (String) (frm.getUpdateTime().substring(0, 4) + String.format("%011d", sequee1)); frm.setPictureId1(commodityId1); int picResult1 = updateDao.execute("Commodity.addPicture1", frm); if (picResult1 != 1) { return false; } } if (frm.getPicture2().length != 0) { Integer sequee2 = queryDao.executeForObject("Commodity.getSeq", null, Integer.class); String commodityId2 = (String) (frm.getUpdateTime().substring(0, 4) + String.format("%011d", sequee2)); frm.setPictureId2(commodityId2); int picResult2 = updateDao.execute("Commodity.addPicture2", frm); if (picResult2 != 1) { return false; } } if (frm.getPicture3().length != 0) { Integer sequee3 = queryDao.executeForObject("Commodity.getSeq", null, Integer.class); String commodityId3 = (String) (frm.getUpdateTime().substring(0, 4) + String.format("%011d", sequee3)); frm.setPictureId3(commodityId3); int picResult3 = updateDao.execute("Commodity.addPicture3", frm); if (picResult3 != 1) { return false; } } if (frm.getPicture4().length != 0) { Integer sequee4 = queryDao.executeForObject("Commodity.getSeq", null, Integer.class); String commodityId4 = (String) (frm.getUpdateTime().substring(0, 4) + String.format("%011d", sequee4)); frm.setPictureId4(commodityId4); int picResult4 = updateDao.execute("Commodity.addPicture4", frm); if (picResult4 != 1) { return false; } } if (frm.getPicture5().length != 0) { Integer sequee5 = queryDao.executeForObject("Commodity.getSeq", null, Integer.class); String commodityId5 = (String) (frm.getUpdateTime().substring(0, 4) + String.format("%011d", sequee5)); frm.setPictureId5(commodityId5); int picResult5 = updateDao.execute("Commodity.addPicture5", frm); if (picResult5 != 1) { return false; } } if (frm.getPicture6().length != 0) { Integer sequee6 = queryDao.executeForObject("Commodity.getSeq", null, Integer.class); String commodityId6 = (String) (frm.getUpdateTime().substring(0, 4) + String.format("%011d", sequee6)); frm.setPictureId6(commodityId6); int picResult6 = updateDao.execute("Commodity.addPicture6", frm); if (picResult6 != 1) { return false; } } Integer sequee = queryDao.executeForObject("Commodity.getSeq", null, Integer.class); String commodityId = (String) (frm.getUpdateTime().substring(0, 4) + String.format("%011d", sequee)); frm.setCommodityId(commodityId); int result = updateDao.execute("Commodity.addCommodity", frm); if (result == 1) { return true;} return false; }