Fullstack-Study-241204-250625

커리큘럼(12-30/변경)

01. Java
02. git
03. Database 
04. Jsp [Server]

05. HTML,CSS 
07. JS
06. 미니프로젝트-2W

08. SpringFramework , SrpingBoot (v)
09. React JS [Front-end]
10. 중간프로젝트 (1M)
11. Linux 명령어
12. AWS 클라우드
13. DevOps - Docker
14. App - Android
15. 최종프로젝트 (1M)

스프링 부트

<resultMap id="OrderToMember" type="DemoOrderVO">
    <id property="old" column="old"/>
    <result property="mid" column="mid"/>
    <result property="productName" column="product_name"/>
    <association property="member">
        <id property="mid" column="mid"/>
        <result property="name" column="name"/>
    </association>
</resultMap>

<select id="OrderToMember" resultMap="OrderToMember">
    select *
    from demo_order as o
    left join demo_member as m
    on o.mid=m.mid
</select>
<resultMap id="memberToOrder" type="DemoMemberVO">
    <id property="mid" column="mid"/>
    <result property="name" column="name"/>
    <collection property="orderList" ofType="DemoOrderVO">
        <id property="old" column="old"/>
        <result property="mid" column="mid"/>
        <result property="productName" column="product_name"/>
    </collection>
</resultMap>

<select id="oneToMany" resultMap="memberToOrder">
    select *
    from demo_member as m
    left join demo_order as o
    on m.mid = o.mid
    where m.mid = 1
</select>
<select id="getDetail" resultType="ProductVO" parameterType="int">
    select * from PRODUCT p
    left join (
        SELECT CONCAT(A1.group_ID, A1.CATEGORY_ID) AS CATEGORY_KEY, ##카테고리 키 (그룹 + 키 형태로 카테고리분류)
            CASE A1.category_parent_LV WHEN 0 THEN A1.category_detail_NM
                            WHEN 1 THEN CONCAT(A2.category_detail_NM,' > ', A1.category_detail_NM)
                        			WHEN 2 THEN CONCAT(A3.category_detail_NM, ' > ', A2.category_detail_NM,' > ', A1.category_detail_NM)
ND as CATEGORY_NAV
        FROM PRODUCT_CATEGORY A1
            LEFT OUTER JOIN PRODUCT_CATEGORY A2
        ON A1.CATEGORY_PARENT_LV = A2.CATEGORY_LV AND A1.CATEGORY_DETAIL_PARENT_LV = A2.CATEGORY_DETAIL_LV AND A1.GROUP_ID = A2.GROUP_ID
            LEFT OUTER JOIN PRODUCT_CATEGORY A3
            ON A2.CATEGORY_PARENT_LV = A3.CATEGORY_LV AND A2.CATEGORY_DETAIL_PARENT_LV = A3.CATEGORY_DETAIL_LV
    )c
    on p.prod_category = c.category_key
    where prod_id = #{prodId}
</select>

파일업로드

스프링부트에서는 application.properties의 설정으로 업로드 제공

###############파일업로드 설정
#파일업로드 가능여부 설정
spring.servlet.multipart.enabled=true
#한 번에 최대 업로드 가능한 용량
spring.servlet.multipart.max-request-size=50MB
#파일 하나당 최대크기
spring.servlet.multipart.max-file-size=10MB
#업로드 파일의 임시저장경로 (설정 x)
spring.servlet.multipart.location=임시로 저장될 경로

application.properties에서 별도 설정값 추가

com.coding404.myweb.upload.path=업로드할 경로 #실제 저장 경로

일반 업로드

<form action="upload_ok" method="post" enctype="multipart/form-data">
	파일:<input type="file" name="file"><br>
	<input type="submit" value="전송"><br>
</form>