Files
wb-java-nc-shop/target/classes/mapper/UserAddressMapper.xml
2026-01-11 18:14:42 +08:00

46 lines
2.0 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nlshop.mapper.UserAddressMapper">
<resultMap id="BaseResultMap" type="com.nlshop.entity.UserAddress">
<id column="id" property="id"/>
<result column="user_id" property="userId"/>
<result column="address" property="address"/>
<result column="contact_name" property="contactName"/>
<result column="contact_phone" property="contactPhone"/>
<result column="is_default" property="isDefault"/>
<result column="create_time" property="createTime"/>
</resultMap>
<insert id="insert" parameterType="com.nlshop.entity.UserAddress" useGeneratedKeys="true" keyProperty="id">
INSERT INTO user_address (user_id, address, contact_name, contact_phone, is_default)
VALUES (#{userId}, #{address}, #{contactName}, #{contactPhone}, #{isDefault})
</insert>
<select id="selectByUserId" resultMap="BaseResultMap">
SELECT * FROM user_address WHERE user_id = #{userId} ORDER BY is_default DESC, create_time DESC
</select>
<select id="selectById" resultMap="BaseResultMap">
SELECT * FROM user_address WHERE id = #{id}
</select>
<select id="selectDefaultByUserId" resultMap="BaseResultMap">
SELECT * FROM user_address WHERE user_id = #{userId} AND is_default = 1 LIMIT 1
</select>
<update id="update" parameterType="com.nlshop.entity.UserAddress">
UPDATE user_address
<set>
<if test="address != null">address = #{address},</if>
<if test="contactName != null">contact_name = #{contactName},</if>
<if test="contactPhone != null">contact_phone = #{contactPhone},</if>
<if test="isDefault != null">is_default = #{isDefault},</if>
</set>
WHERE id = #{id}
</update>
<delete id="delete">
DELETE FROM user_address WHERE id = #{id}
</delete>
</mapper>