【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)

你可能感兴趣的:(练手项目,java,sql,数据库)