【store商城项目08】删除用户的收获地址
1.删除收获地址-持久层
1.1规划SQL语句
- 根据aid判断数据是否存在,根据返回的uid判断数据是否对应(已开发)
- 根据aid删除的SQL
delete from t_address where aid = ?
- 根据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处理异常
- 数据不存在(已开发)
- 数据不对应(已开发)
- 删除时出现异常
public class DeleteException extends ServiceException{
}
2.2编写接口和抽象方法
确定参数:
- 根据aid判断数据是否存在(aid)