보뇨 다이어리

마이바티스 리팩토링하기 1 본문

컴퓨터 관련/DB 정보

마이바티스 리팩토링하기 1

보뇨 2018. 7. 31. 10:10
반응형

이건 시리즈물이다

그렇다

정확히 코드를 리팩토링하는 과정인것이다

하는이유는? 첫째는 내가 만지기 빡씨다는점이다...ㅂㄷㅂㄷ

따로 설명은 넣지않을것이다 왜냐? 설명을 넣을 필요도 없이 간단하기 때문이지!


Before

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
    <!-- 퇴근 기록하기 -->
    <insert id="updateCommuteRecord" parameterType="com.tistory.vessel.api.vo.CommuteRecordVO">
        UPDATE commute_record
        SET pad = pad
        <if test="leave != null and leave > 0">
            , `leave` = FROM_UNIXTIME(#{leave})
        </if>
        <if test="leave_beacon != null">
            <if test="leave_beacon != null">
                , leave_beacon = #{leave_beacon}
            </if>
            <if test="leave_beacon == null">
                , leave_beacon = null
            </if>
        </if>
        <if test="come_beacon != null">
            <if test="come_beacon != null">
                , come_beacon = #{come_beacon}
            </if>
            <if test="come_beacon == null">
                , come_beacon = null
            </if>
        </if>
        <if test="come_match == null">
            <if test="come_match != -2">
            , come_match = #{come_match}
            </if>
            <if test="come_match == -2">
            , come_match = null
            </if>
        </if>
        <if test="leave_match != null">
            <if test="leave_match != -2">
            , leave_match = #{leave_match}
            </if>
            <if test="leave_match == -2">
            , leave_match = null
            </if>
        </if>
        <if test="valid != null">
            , valid = #{valid}
        </if>
        <if test="id != null and id != -1">
            WHERE id = #{id}
        </if>
        <if test="id == null or id == -1">
            WHERE 1=0
        </if>
    </insert>
cs


after

1
2
3
4
5
6
7
8
9
10
11
12
13
<insert id="updateCommuteRecord" parameterType="com.tistory.vessel.api.vo.CommuteRecordVO">
    UPDATE commute_record
        <trim prefix="SET" suffixOverrides=",">
            <if test="leave != null">`leave` = FROM_UNIXTIME(#{leave}),</if>
            <if test="leave_beacon != null">leave_beacon = #{leave_beacon},</if>
            <if test="come_beacon != null">come_beacon = #{come_beacon},</if>
            <if test="come_match != null">come_match = #{come_match},</if>
            <if test="leave_match != null">leave_match = #{leave_match},</if>
            <if test="valid != null">valid = #{valid},</if>
            <if test="id != null">id = #{id},</if>
        </trim>
<insert>
cs


반응형