检索,首先需要在文本框中输入要检索的名字,所以需要写一个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;
}