content: package com.sky.mapper;
  
  import com.sky.entity.AddressBook;
  import org.apache.ibatis.annotations.*;
  
  import java.util.List;
  
  @Mapper
  public interface AddressBookMapper {
  
      /**
       * 条件查询
       * @param addressBook
       * @return
       */
      List<AddressBook> list(AddressBook addressBook);
  
      /**
       * 新增
       * @param addressBook
       */
      @Insert("insert into sky_take_out.address_book" +
              "        (user_id, consignee, phone, sex, province_code, province_name, city_code, city_name, district_code," +
              "         district_name, detail, label, is_default)" +
              "        values (#{userId}, #{consignee}, #{phone}, #{sex}, #{provinceCode}, #{provinceName}, #{cityCode}, #{cityName}," +
              "                #{districtCode}, #{districtName}, #{detail}, #{label}, #{isDefault})")
      void insert(AddressBook addressBook);
  
      /**
       * 根据id查询
       * @param id
       * @return
       */
      @Select("select * from sky_take_out.address_book where id = #{id}")
      AddressBook getById(Long id);
  
      /**
       * 根据id修改
       * @param addressBook
       */
      void update(AddressBook addressBook);
  
      /**
       * 根据 用户id修改 是否默认地址
       * @param addressBook
       */
      @Update("update sky_take_out.address_book set is_default = #{isDefault} where user_id = #{userId}")
      void updateIsDefaultByUserId(AddressBook addressBook);
  
      /**
       * 根据id删除地址
       * @param id
       */
      @Delete("delete from sky_take_out.address_book where id = #{id}")
      void deleteById(Long id);
  
  }
  