반응형
설정하기
application.properties 설정
1. Datasource 설정을 합니다.
driverClassName, url, username, password, pool-size를 설정합니다.
#Spring Datasource 설정
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://url:3306/database?characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.hikari.username=id
spring.datasource.hikari.password=passwd
spring.datasource.hikari.maximum-pool-size=20
2. mapper 파일 위치를 지정합니다.
필요한 경우 SQL의 PRODUCT_NAME 컬럼을 JAVA Domain의 productName을 변환하여 맵핑해주는 옵션인 map-underscore-to-camel-case를 true로 해줍니다.
#Mybatis 설정
mybatis.mapper-locations=mybatis/**/*.xml
mybatis.configuration.map-underscore-to-camel-case=true
build.gradle 설정
아래 라이브러리를 추가해줍니다.
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.4'
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
사용하기
Mapper 파일 생성
@Mapper annotation을 사용하는 Interface를 생성해줍니다.
@Mapper
public interface ProductMapper {
List<Product> selectProduct(Product product);
int updateProduct(Product product);
int insertProduct(Product product);
int deleteProduct(Product product);
}
XML 파일 생성
#{parameter}로 파라미터를 바인딩 할 수 있습니다.
<?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="kr.co.test.repository.ProductMapper">
<select id="selectProduct" resultType="kr.co.test.Product">
select product_name, product_id, price from PRODUCT
</select>
<insert id="insertProduct" parameterType="kr.co.test.domain.Product">
insert into PRODUCT (product_name, product_id, price)
values (#{productName}, #{productId}, #{price})
</insert>
<update id="updateProduct" parameterType="kr.co.test.domain.Product">
update PRODUCT
set price = #{price}
where product_id = #{productId}
</update>
<delete id="deleteProduct">
delete PRODUCT
where product_id = #{productId}
</delete>
</mapper>
반응형
'프로그래밍 > SpringFramework' 카테고리의 다른 글
스프링부트 @Controller 1 (0) | 2021.04.19 |
---|---|
스프링 프레임워크 @Scheduled 사용법 (0) | 2021.04.19 |