1.遇到错误首先从逻辑错误分析,再从代码错误分析
例:订单取消->删除用户的订单同时商品的余量+1。如果先删除订单,那么已经没有该订单,没有对应的商品信息,抛异常。
//取消订单即为删除该订单
String goodName;
//获取该订单对应的商品名,给该商品的余量+1
goodName = orderService.selectByPrimaryKey(oId).getGname();
GoodsTest goodsTest = goodsService.selectByGoodname(goodName);
goodsTest.setgRemain(goodsTest.getgRemain()+1);
goodsService.updateByPrimaryKey(goodsTest);
//删除该订单
int res = orderService.deleteByPrimaryKey(oId);
System.out.println(res);
2.前后台传参名称要相同,否则报400!Required String parameter 'xxx' is not present
3.写代码前尽量做好详尽的逻辑和顺序计划,画图,要不然后期修改代价很大
4.及时备份
5.数据库的表,字段信息要先想好,后期修改代价大,自增记得打钩!还有不能用数据库关键词作为表名
6.JS传函数传String类型参数注意点:下面代码
addShopping('${lb.gName}',${lb.gPrice})
为字符串类型,记得加 ' ' ,否则会报' XX is not defined'的错误
<div class="card-body">
<table id="bs4-table" class="table table-bordered table-striped" cellspacing="0" width="100%">
<thead>
<tr>
<th>商品名称</th>
<th>商品类别</th>
<th>商品详情</th>
<th>商品价格</th>
<th>商品库存</th>
<th colspan="2">加入购物车</th>
</tr>
</thead>
<tbody>
<c:forEach items="${listGoods}" var="lb">
<tr>
<td>${lb.gName}</td>
<td>${lb.gCategory}</td>
<td>${lb.gDetail}</td>
<td>${lb.gPrice}</td>
<td>${lb.gRemain}</td>
<td onclick="addShopping('${lb.gName}',${lb.gPrice})">加入购物车</td>
</tr>
</c:forEach>