본문 바로가기

Spring

Spring + Mybatis + MariaDB 연동하기

# pom.xml   -   4가지에 대한 maven 등록

 - mariaDB

 - JDBC

 - Jdcp (커넥션풀)

 - Mybatis / mybatis-spring   

		<!-- DBCP 데이터베이스 풀 커넥션 + mybatis -->
		<dependency>
		     <groupId>commons-dbcp</groupId>
		     <artifactId>commons-dbcp</artifactId>
		     <version>1.4</version>
		</dependency>
		
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>4.1.4.RELEASE</version>
		</dependency>

		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.2.8</version>
		</dependency>
		
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
			<version>1.2.2</version>
		</dependency>

		<dependency>
		    <groupId>org.mariadb.jdbc</groupId>
		    <artifactId>mariadb-java-client</artifactId>
		    <version>2.3.0</version>
		</dependency>
		
		<dependency>
		    <groupId>cglib</groupId>
		    <artifactId>cglib</artifactId>
		    <version>3.2.10</version>
		</dependency>		

# mapper.xml  - 함수이름과 sql쿼리문을 연동시켜준다.

 <mapper namespace="  DAO ">  //아래 지정해줄 함수가 있는 인터페이스를 적용해준다. 

     <select id= " 함수이름1" resultType=" String " >  //나중에 selectOne("함수이름1")로 사용한다.

        SELECT FROM WEHRE id= #{ idParam }

     </select>

 </mapper>

 

# DAO 

  interface DAO{

     String 함수이름1 ( String idParam ){}

  }

 

 

# root-context  - DI해줄 sqlSession 빈을 생성한다.

 <bean id=dataSource >

   <property name = "userName" vlaue=$ { db.Name }  //properties파일에 있는 것 사용하는 방법

   <property name = " Id         "  vlaue=$ { db. I D   }  

   <property name = "driverClassName" vlaue=" .  jdbc.Drivce">

 </bean>

 <bean id = SqlSessionFactoryBean >

   <property name= "dataSource" ref="dataSource">

    //classpath 로 지정되어 있는 경로에서 모든 xml 파일을 읽어와라

   <property name= "mapperlocation" value=" classpath: /sql/.. / .xml  >   

  </bean>

 <bean id= SqlSession > 

    <property name=  "sqlsessionFactoryBean" ref= "SqlsessonFactoryBean">

 </bean>

 

 

# Controller  - 등록된 SqlSession 빈을 DI 해준다.

 

 결과 = sqlsession.selectOne( " DAO에있는함수이름1" ) 

 model.addAttribute(결과) 해서 뷰로 보내준다.