Files
sb-backend/src/main/resources/mapper/QuickEntryMapper.xml
T

50 lines
2.2 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sb.web.account.mapper.QuickEntryMapper">
<resultMap id="quickResultMap" type="com.sb.web.account.domain.QuickEntry">
<id property="id" column="id"/>
<result property="memberId" column="member_id"/>
<result property="label" column="label"/>
<result property="type" column="type"/>
<result property="category" column="category"/>
<result property="amount" column="amount"/>
<result property="memo" column="memo"/>
<result property="walletId" column="wallet_id"/>
<result property="sortOrder" column="sort_order"/>
<result property="createdAt" column="created_at"/>
<result property="walletName" column="wallet_name"/>
</resultMap>
<select id="findByMember" parameterType="long" resultMap="quickResultMap">
SELECT q.id, q.member_id, q.label, q.type, q.category, q.amount, q.memo,
q.wallet_id, q.sort_order, q.created_at, w.name AS wallet_name
FROM quick_entry q
LEFT JOIN wallet w ON w.id = q.wallet_id AND w.member_id = q.member_id
WHERE q.member_id = #{memberId}
ORDER BY q.sort_order, q.id
</select>
<select id="findByIdAndMember" resultMap="quickResultMap">
SELECT id, member_id, label, type, category, amount, memo, wallet_id, sort_order, created_at
FROM quick_entry
WHERE id = #{id} AND member_id = #{memberId}
</select>
<insert id="insert" parameterType="com.sb.web.account.domain.QuickEntry"
useGeneratedKeys="true" keyProperty="id">
INSERT INTO quick_entry (member_id, label, type, category, amount, memo, wallet_id, sort_order, created_at)
VALUES (#{memberId}, #{label}, #{type}, #{category}, #{amount}, #{memo}, #{walletId}, #{sortOrder}, NOW())
</insert>
<delete id="delete">
DELETE FROM quick_entry WHERE id = #{id} AND member_id = #{memberId}
</delete>
<select id="maxSortOrder" resultType="java.lang.Integer">
SELECT MAX(sort_order) FROM quick_entry WHERE member_id = #{memberId}
</select>
</mapper>