Java电商项目面试--收货地址模块

本文详细介绍了Java电商项目中收货地址模块的关键技术,包括新增、删除、更新地址的Controller、Service、Mapper实现,以及Mybatis自增主键的获取。同时,文章还探讨了SpringMVC的数据绑定、时间处理和乱码解决方案,为Java面试提供了实用的知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

收货地址模块技术要点:
1、同步获取自增主键
2、数据绑定的对象绑定
3、越权问题升级巩固

一、新增收货地址
Controller层:

//新建收货地址
@RequestMapping("add.do")
@ResponseBody
public ServerResponse add(HttpSession session,Shipping shipping){
    User user = (User)session.getAttribute(Const.CURRENT_USER);
    if(user ==null)
        return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(),ResponseCode.NEED_LOGIN.getDesc());
    return iShippingService.add(user.getId(),shipping);
}

Service层:

//新建收货地址
public ServerResponse add(Integer userId, Shipping shipping){
    shipping.setUserId(userId);
    int rowCount = shippingMapper.insert(shipping);
    if(rowCount > 0){
        Map result = Maps.newHashMap();
        result.put("shippingId",shipping.getId());
        return ServerResponse.createBySuccess("新建地址成功",result);
    }
    return ServerResponse.createByErrorMessage("新建地址失败");
}

Mapper.xml:

<insert id="insert" parameterType="com.mmall.pojo.Shipping" useGeneratedKeys="true" keyProperty="id">
    insert into mmall_shipping (id, user_id, receiver_name,
    receiver_phone, receiver_mobile, receiver_province,
    receiver_city, receiver_district, receiver_address,
    receiver_zip, create_time, update_time
    )
    values (#{
  
  id,jdbcType=INTEGER}, #{
  
  userId,jdbcType=INTEGER}, #{
  
  receiverName,jdbcType=VARCHAR},
    #{
  
  receiverPhone,jdbcType=VARCHAR}, #{
  
  receiverMobile,jdbcType=VARCHAR}, #{
  
  receiverProvince,jdbcType=VARCHAR},
    #{
  
  receiverCity,jdbcType=VARCHAR}, #{
  
  receiverDistrict,jdbcType=VARCHAR}, #{
  
  receiverAddress,jdbcType=VARCHAR},
    #{
  
  receiverZip,jdbcType=VARCHAR}, now(), now()
    )
</insert>

同步获取自增主键
Mybatis 配置文件 useGeneratedKeys 参数只针对 insert 语句生效,默认为 false。当设置为 true 时,表示如果插入的表以自增列为主键,则允许 JDBC 支持自动生成主键,并可将自动生成的主键返回。

<insert id="insert" 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北极星小王子

你的鼓励是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值