关于如何添加商品到购物车,我们首先要有一个大致的思路。我们在浏览器页面,点击添加到购物车按钮,然后就会去掉用Web层的joinCart()方法,这个方法就会接着调用业务逻辑层,而业务逻辑层会去调用Dao的方法去数据库里做一些事情。那么在这个过程中有哪些参数在传递,或者说这些方法需要传递哪些参数,才能在数据库中进行操作呢?然后在数据库中操作后又返回了哪些东西呢?
我们添加商品到购物车无非就两种情况。1.购物车中已经添加过这个商品了。2.购物车中还没有添加过这个商品。如果没有添加过,我们要做的就是把这一条数据插入表中。而如果添加过了我们就需要修改表中的数据,比如商品的数量,总价等。所以我们就需要先去表中进行查找,看是否添加过该商品。所以在jsp页面中我们需要把gid(商品的id)和nums(添加的数量),传递给Web层。而在Web层,我们需要把这两个参数获取到,并且需要从域对象中获取User对象,调用他的getUid()方法,获取uid,因为我们需要根据用户id和商品id去表中查。获取这三个值后,我们向下传递到业务逻辑层,业务逻辑层通过这两个id调用Dao中的方法去数据库中cart表中查看是否有这个商品,然后返回一个cart对象,我们接着在业务逻辑层判断这个cart为true还是false。如果为true进入if语句,将表中需要的数据封装进cart对象,然后调用Dao中的add方法,把这条数据添加到表中就可以了。如果为false就进入else语句,获取增加后的数量,价格等封装到cart中,调用Dao中的update方法去数据库中进行修改就可以了。
业务逻辑层代码如下:



