스프링 히카리,JDBC, MYBATIS 설정

Y·2021년 4월 29일
0

자바스프링(부트X)

목록 보기
2/14
post-thumbnail

사전 dependency 설정 (pom.xml에 설정해준다, 사진에 전부담지 못함 아래더있습니다)


		<dependency>
			<groupId>com.zaxxer</groupId>
			<artifactId>HikariCP</artifactId>
			<version>3.3.1</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>

		<dependency>
			<groupId>com.oracle.database.jdbc</groupId>
			<artifactId>ojdbc6</artifactId>
			<version>11.2.0.4</version>
		</dependency>

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


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

web.xml의 설정확인 contextConfigLocation을 확인한다

아래 경로의
root-context.xml 확인한다

root-context.xml 파일 내용이다

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:mybatis-spring="http://mybatis.org/schema/mybatis-spring"
	xsi:schemaLocation="http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring-1.2.xsd
		http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd">
	
	<!-- Root Context: defines shared resources visible to all other web components -->
	   <!-- 히카리 커넥션풀 빈 등록 -->
 <bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
    <property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:xe" />
    <property name="username" value="" />
    <property name="password" value="" />
 </bean>   
 <!-- 히카리 데이터소스 빈 등록 -->   
 <bean id="ds" class="com.zaxxer.hikari.HikariDataSource">
    <constructor-arg ref="hikariConfig"/>
 </bean>
 
 <!-- 데이터소스 마이바티스에 등록 및 xml 위치 설정 -->
 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="ds"/>
    <property name="mapperLocations" value="classpath:/mappers/**/*Mapper.xml"/>
 </bean>
 <!-- 마이바티스 xml파일과 dao빈 연결  -->
 <mybatis-spring:scan base-package="com.care.root.member.dao"/>
 
 <!-- 롤백기능을 담았다고 한다 ,트랜잭션 -->
 <bean name="txMgr"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
 <property name="dataSource" ref="ds" />
</bean>
		
</beans>

--(21.04.30 코드 추가수정)

- xmlns와 xsi 쪽 mybatis가 생성이 안되서 그냥 코드째 올립니다
그래야 mybatis 태그 사용이 가능한것을 확인

--(/21.04.30 코드 추가수정)

--(21.05.08 수정부분 )

  • mybatis-spring 에러가 발생하는 이유는 하단 namespace에 mybatis 스프링을 추가 시키지 않았기 때문이다

    체크해줘서 스프링을 추가시켜주면 에러가 해결된다

    --(/21.05.08 수정부분 )

    10번줄 : id 는 hikariConfig 로 db , 히카리cp를 설정 한다

    17번줄 : hikariConfig를 참조한 ds라는 이름의 빈을 등록한다

    22번줄 : 히카리 풀 데이터 소스를 마이바티스에 등록함과 동시에 Maaper.xml등록

    27번줄: 마이바티스 xml파일 dao연결

    Mapper.xml (위의 24번줄 mapper를 봐보자)

    <?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.care.root.member.dao.MemberDAO">
    	
    	<resultMap type="com.care.root.member.dto.MemberDTO" id="member">
    		<result property="id" column="id" />
    		<result property="name" column="name" />
    		<!-- property는 자바의 멤버변수, column은 sql의 컬럼 -->
    		<!--  어떤 테이블이더라도 resultset 즉 결과값을 맞춰주는 것이기때문에 범용적이라고예상 -->
    	</resultMap>
    
    	<insert id="insertMember">
    		insert into test_mybatis values(#{id},#{name})
    	</insert>
    
    	<select id="memberView" resultMap="member">
    		select * from test_mybatis
    	</select>
``` #### 위의 위 사진 24번줄 *Mapper라는 뜻은 어떤이름이든 Mapper만 붙으면 인식 시켜준다

정리

  • MAVEN 설정
  • web.xml의 경로 확인
  • root-context.xml 설정
  • Mapper 설정
profile
스스로 공부하고 기록해서 발전할수 있도록 노력하는 공부 벨로그 https://youseong.me

0개의 댓글