增加数据检索功能

一、实现模糊查询功能

1、在UserBar.html中添加一个搜索框和搜索按钮

<form action="selectGoods" th:object="${goodsForm}" method="post">

 <input type="text" name="commodityName"/>

 <input type="submit" value="搜索"/>

2、在GoodsController中写入关于搜索功能的后台代码

@RequestMapping(value = "selectGoods", method = RequestMethod.POST)

    public String  selectGoods(Model model,HttpSession session,GoodsForm goodsForm,Device device){

     log.info("搜索相关商品");

     List<GoodsForm> list=goodsService.searchGoodsListrelative(goodsForm);

     model.addAttribute("list",list);

     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));

     if(device.isNormal()) {

     return "shop/index";

     } else {

     return "mobile/index";

     }

    }//加入条件判断,判断是手机端访问还是PC端访问

3、在GoodsService中写入关键代码

public List<GoodsForm> searchGoodsListrelative(GoodsForm frm) {
 List<GoodsForm> result = queryDao.executeForObjectList("Goods.selectGoodsListrelative", frm);
 return result;
 }

4、在GoodsSqlMap数据库中

<select id="selectGoodsListrelative"

 parameterClass="cn.agriculture.web.form.GoodsForm"

 resultClass="cn.agriculture.web.form.GoodsForm">

 SELECT commodity.commodity_id as commodityId,

 commodity.type as type,

 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$%'
 //数据库中还可以用commodity.commodity_name LIKE concat('%',#commodityName#,'%')
  </select>

两个表相连的SQL表示:

select产品.Name,明细.Name

from产品,明细

where产品.ID=明细.ID

转载于:https://my.oschina.net/u/2411770/blog/482527

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值