> 文章列表 > 【store商城项目08】删除用户的收获地址

【store商城项目08】删除用户的收获地址

【store商城项目08】删除用户的收获地址

1.删除收获地址-持久层

1.1规划SQL语句

  1. 根据aid判断数据是否存在,根据返回的uid判断数据是否对应(已开发)
  2. 根据aid删除的SQL
delete from t_address where aid = ?
  1. 根据1中的SQL返回的对象判断是否为默认地址,若为默认地址,则将最新的一个地址设置为默认地址。
select * from t_address where uid =? ORDER BY modified_time limit 0,1

其中limit 0,1表示查询到的第一条数据(limit (n-1),pageSize),这样查询后就只会获得第一条数据
4. 执行完删除操作, 根据uid进行查询用户的收获地址(已开发)

1.2编写SQL映射

    <delete id="deleteByAid">delete from t_address where aid = #{aid}</delete><select id="findLeastByUid">select * from t_address where uid =#{uid} ORDER BY modified_time limit 0,1</select>

1.3编写接口和抽象方法


public interface AddressMapper {/* 根据uid查询最近增加的一条记录* @param uid 用户的uid* @return 返回最近的增加的一条地址对象*/Address findLeastByUid(Integer uid);/* 根据aid删除用户的收获地址* @param aid 用户的aid* @return 返回删除的行数*/Integer deleteByAid(Integer aid);

2.删除收获地址-业务层

2.1处理异常

  1. 数据不存在(已开发)
  2. 数据不对应(已开发)
  3. 删除时出现异常
public class DeleteException extends ServiceException{
}

2.2编写接口和抽象方法

确定参数:

  1. 根据aid判断数据是否存在(aid)