无法添加商品
需求:点击商品详细页面中的“我要购买”按钮,servlet获得请求,根据session中的uid和hidden的book id来搜索数据库,若找到记录,那么在原有的记录上添加商品数量;否则新增条目。
问题:商品没有添加,数量也没有增加
原因:问题出在Dao中的toCartItem(Map map)方法,我没有判断map是否为空就直接使用mapToBean方法来封装数据;没有考虑到如果查询结果为null,调用这个方法仍然会返回一个尽管内容为空,但是却不等于null的实体对象;这就导致在service层中总是判断购物车中已经有了相应商品,然而因为bid和uid都为空,所以数量也没有增加的情况。
解决方法:在toCartItem中添加一条if语句判断map是否为null,若是则直接return null;
评价:很有意义的一次犯错。
执行sql报错,提示data too long for column…
情景:id列无法插入数据
原因: 调用UUID.randomUUID().toString()方法时,生成的字符串中含有’-‘字符,这样就超出了32个字符。而id列定义为varchar(32)
- 解决办法: UUID.randomUUID().toString().replace(“-“, “”)
session中遇到的奇怪问题
情景