Search
Duplicate

๋งˆ์ด๋ฐ”ํ‹ฐ์Šค ์„ค์ •

๋งˆ์ด๋ฐ”ํ‹ฐ์Šค ์„ค์ • ๊ฐ€์ด๋“œ

1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค์ •

๋ฐ์ดํ„ฐ ์†Œ์Šค ๊ตฌ์„ฑ (MySQL)

์ฃผ์š” ์„ค์ • ํ•ญ๋ชฉ:
์„ค์ • ํ•ญ๋ชฉ
์„ค๋ช…
driver-class-name
MySQL JDBC ๋“œ๋ผ์ด๋ฒ„ ์ง€์ •
url
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ URL (ํ˜ธ์ŠคํŠธ, ํฌํŠธ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ช…, ์˜ต์…˜ ํฌํ•จ)
username/password
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘์† ๊ณ„์ • ์ •๋ณด

2. MyBatis ํ•ต์‹ฌ ์„ค์ •

์„ค์ • ํŒŒ์ผ ๊ฒฝ๋กœ

๋ณ„๋„์˜ MyBatis ์„ค์ • ํŒŒ์ผ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ฃผ์„์„ ํ•ด์ œํ•˜๊ณ  ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์นด๋ฉœ ์ผ€์ด์Šค ์ž๋™ ๋งคํ•‘

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์–ธ๋”์Šค์ฝ”์–ด ์ปฌ๋Ÿผ๋ช…(board_no)์„ ์ž๋ฐ”์˜ ์นด๋ฉœ์ผ€์ด์Šค ๋ณ€์ˆ˜๋ช…(boardNo)์œผ๋กœ ์ž๋™ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

ํƒ€์ž… ๋ณ„์นญ ์„ค์ •

๋งคํผ XML์—์„œ resultType ์‚ฌ์šฉ ์‹œ ์ „์ฒด ํŒจํ‚ค์ง€๋ช… ๋Œ€์‹  ํด๋ž˜์Šค๋ช…๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€ข
์„ค์ • ์ „: com.aloha.mybatis.dto.BoardDto
โ€ข
์„ค์ • ํ›„: BoardDto

๋งคํผ ํŒŒ์ผ ์œ„์น˜

resources/mybatis/mapper ๋””๋ ‰ํ† ๋ฆฌ ํ•˜์œ„์˜ ๋ชจ๋“  XML ํŒŒ์ผ์„ ๋งคํผ๋กœ ์ธ์‹ํ•ฉ๋‹ˆ๋‹ค.

3. ์ „์ฒด ์„ค์ • ์˜ˆ์‹œ

โ€ข
application.properties
spring.application.name=mybatis # ๋ฐ์ดํ„ฐ ์†Œ์Šค - MySQL spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://127.0.0.1:3306/aloha?serverTimezone=Asia/Seoul&allowPublicKeyRetrieval=true&useSSL=false&autoReconnection=true spring.datasource.username=aloha spring.datasource.password=123456 # Mybatis ์„ค์ • # mybatis.config-location=classpath:mybatis-config.xml mybatis.configuration.map-underscore-to-camel-case=true mybatis.type-aliases-package=com.aloha.mybatis.dto mybatis.mapper-locations=classpath:mybatis/mapper/**/**.xml
Java
๋ณต์‚ฌ
โ€ข
mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "https://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!-- ์„ค์ • --> <settings> <!-- ์–ธ๋”์Šค์ฝ”์–ด ์ผ€์ด์Šค์ธ ์ปฌ๋Ÿผ์„ ์นด๋ฉœ ์ผ€์ด์Šค๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์„ค์ • --> <!-- board_no - boardNo --> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings> <!-- ํƒ€์ž… ๋ณ„์นญ ์„ค์ • --> <typeAliases> <!-- ํ…Œ์ด๋ธ”๊ณผ ๋งคํ•‘ํ•  DTO๊ฐ€ ์žˆ๋Š” ํŒจํ‚ค์ง€ ๊ฒฝ๋กœ ์ง€์ • --> <package name="com.aloha.mybatis.dto"/> </typeAliases> </configuration>
XML
๋ณต์‚ฌ

4. ์ถ”๊ฐ€ ํŒ

โ€ข
๋กœ๊น… ์„ค์ •: SQL ์ฟผ๋ฆฌ ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•˜๋ ค๋ฉด logging.level.com.aloha.mybatis.mapper=DEBUG๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”.
โ€ข
์ปค๋„ฅ์…˜ ํ’€: HikariCP๊ฐ€ ๊ธฐ๋ณธ์œผ๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, ํ•„์š”์‹œ spring.datasource.hikari.* ์†์„ฑ์œผ๋กœ ์„ธ๋ถ€ ์กฐ์ • ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
โ€ข
๋งคํผ ์ธํ„ฐํŽ˜์ด์Šค: @Mapper ์–ด๋…ธํ…Œ์ด์…˜์„ ์ธํ„ฐํŽ˜์ด์Šค์— ์ถ”๊ฐ€ํ•˜๋ฉด ์ž๋™์œผ๋กœ ๋งคํผ๋กœ ๋“ฑ๋ก๋ฉ๋‹ˆ๋‹ค.