Spring Boot

스프링 부트_mybatis(마이바티스)

Kabby 2019. 8. 29. 22:49

 

pom.xml 에 maybatis와 MariaDB 추가.

 

<!--  마이바티스 -->

<dependency>

    <groupId>org.mybatis.spring.boot</groupId>

    <artifactId>mybatis-spring-boot-starter</artifactId>

    <version>1.3.2</version>

</dependency>

<!-- 마리아DB JDBC -->

<dependency>

    <groupId>org.mariadb.jdbc</groupId>

    <artifactId>mariadb-java-client</artifactId>

    <version>2.2.4</version>

</dependency>

 

 

예제 1 )

HomeMapper.java  : 스프링에서 Mapper 애노테이션과 Select 애노테이션을 이용하여 java 파일에서 바로 할수 있음.

 

package com.my.sample.domain.home;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;

import org.apache.ibatis.annotations.Param;

import org.apache.ibatis.annotations.Select;

@Mapper

public interface HomeMapper {

@Select("SELECT * FROM home WHERE name = #{name}")

public List<Home> readHome(@Param("name") String name);

@Select("SELECT * FROM home")

    List<Home> selectHome();

}

 

예제 2 ) Mybatis Config 및 xml 파일로 분리했을 때.

HomeMapper.java  : 분리 했을때

 

package com.my.sample.domain.home;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;

import org.apache.ibatis.annotations.Param;

import org.apache.ibatis.annotations.Select;

@Mapper

public interface HomeMapper {

        public List<Home> readHome(@Param("name") String name);

public List<Home> selectHome();

}

 

 

resource 밑에 mybatis라는 폴더를 만들고, mybatis 폴더 밑에 mapper라는 폴더를 만듭니다. 

그리고 mapper 밑에 HomeMapper.xml 파일을 만듭니다.

 

<?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="com.my.sample.domain.home.HomeMapper">

<select id="readHome" parameterType="List" resultType="Home">

SELECT * FROM home WHERE name = #{name}

</select>

<select id="selectHome" parameterType="List" resultType="Home">

SELECT * FROM home

</select>

</mapper>

 

 

 

 

Application.properties

 

# MariDB dataSource

spring.datasource.driverClassName=org.mariadb.jdbc.Driver

spring.datasource.url=jdbc:mysql://192.168.1.101:3306/jeong

spring.datasource.username = root

spring.datasource.password = password

 

#mybatis Mapper (src/main/resources/mabatis/mapper안에 Mapper을 만들었을 때 추가. )

mybatis.type-aliases-package=com.my.sample.domain.home

mybatis.mapper-locations=mybatis/mapper/**/*.xml