Spring :: MariaDB 연동

김병철·2023년 3월 11일
0

MySQL

목록 보기
2/2

# Spring legacy Project

# MariaDB와 연동

  • 'pom.xml'에 dependancy 추가
<!-- 
	MariaDB 라이브러리
    https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client 
-->
<dependency>
    <groupId>org.mariadb.jdbc</groupId>
    <artifactId>mariadb-java-client</artifactId>
    <version>3.0.8</version>
</dependency>

<!--
	스프링에서 jdbc를 사용하기 위한 라이브러리
	https://mvnrepository.com/artifact/org.springframework/spring-jdbc
-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>5.3.24</version>
</dependency>
        
<!--
	아래는 1-3 순수  mybatis 라이브러리
	https://mvnrepository.com/artifact/org.mybatis/mybatis
-->

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.7</version>
</dependency>

<!--
	순수 mybatis spring 라이브러리
	https://mvnrepository.com/artifact/org.mybatis/mybatis-spring
-->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>2.0.6</version>
</dependency>

<!--
	커넥션 풀을 사용하기 위한 라이브러리
	https://mvnrepository.com/artifact/commons-dbcp/commons-dbcp
-->
<dependency>
    <groupId>commons-dbcp</groupId>
    <artifactId>commons-dbcp</artifactId>
    <version>1.4</version>
</dependency>
  • 'root-context.xml' Bean 추가
<bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
    <property name="driverClass" value="org.mariadb.jdbc.Driver"/>
    <property name="url" value="jdbc:mariadb://localhost:20049/irondb"/>
    <property name="username" value="DB계정명"/>
    <property name="password" value="DB계정비밀번호"/>
</bean>
 
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="configLocation" value="classpath:/...경로/mybatis-config.xml"/>
    <property name="mapperLocations" value="classpath*:/...경로/mappers/*.xml"/>
</bean>
 
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
    <constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"/>
</bean>
  • 'mybatis-config.xml'을 각자 맞는 경로에 넣어 준다.

    참고용

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "mybatis-3-config.dtd" >
<configuration>
	
	<typeAliases>
		<!-- 관리자 -->
		<typeAlias type="com.iron.management.admin.model.vo.Admin" alias="admin"/>
	</typeAliases>
    
</configuration>
  • mapper file경로도 위에 빈을 등록한 경로에 맞게 넣어준다.

    다음은 참고용파일입니다.
    'resources/mappers/admin-mapper.xml'
    'root-context.xml' 파일에서 SqlSessionFactoryBean설정을 보고 경로에 맞게 넣으셔야 합니다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
  <mapper namespace="adminMapper">
    
    
    <resultMap type="admin" id="adminResultSet">
        <result column="ADMIN_ID" property="adminId" />
        <result column="ADMIN_PW" property="adminPw" />
        <result column="ADMIN_NM" property="adminNm" />
        <result column="ADMIN_MDF_DATE" property="adminMdfDate" />
        <result column="ADMIN_MDF_DATE" property="adminRegDate" />
    </resultMap>
    
    <select id="adminList" resultMap="adminResultSet">
        SELECT *
          FROM ADMIN
    </select>
    
    <select id="detailAdmin" resultMap="adminResultSet">
        SELECT *
          FROM ADMIN
         WHERE ADMIN_ID=#{adminId}
    </select>
    
    <insert id="insertAdmin" parameterType="admin">
        INSERT INTO ADMIN (
                          ADMIN_ID
                        , ADMIN_PW
                        , ADMIN_NM
                        )
                VALUES (
                          #{adminId}
                        , #{adminPw}
                        , #{adminNm}
                        )
    </insert>
    
</mapper>

이제 준비는 마쳤습니다~~

위의 세팅으로 시작한 저의 프로젝트의 설정을 깃헙에서 확인해도 좋구요
https://github.com/withbyeongk/management

profile
keep going on~

0개의 댓글