인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

bee님의 프로필 이미지
bee

작성한 질문수

스프링 프레임워크는 내 손에 [스프1탄]

14.Mapper로딩하고 MyBatis와 연결하기

14강 MyBatis 연결 질문입니다.

작성

·

440

0

안녕하세요

신입 개발자로 영상 잘 보면서 따라오고 있었습니다.

그런데 지금 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"

xsi:schemaLocation="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 -->

<!-- API(HikariCP) -->

<!-- bean : 객체를 생성하는 태그 -->

<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">

<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>

<property name="jdbcUrl" value="jdbc:oracle:thin:@127.0.0.1:1521:XE"/>

<property name="username" value="hr"/>

<property name="password" value="hr"/>

</bean>

<!-- HikariDataSource(Connection POOL을 만드는 역할을 한다) -->

<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">

<constructor-arg ref="hikariConfig" />

</bean>

<mybatis-spring:scan base-package="kr.board.mapper"/>

<!-- BoardMapper interface의 구현클래스 생성

SqlSessionFactoryBean(SQL을 실행하는 API) -->

<bean class="org.mybatis.spring.SqlSessionFactoryBean">

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

</bean>

</beans>

 

이렇게 영상과 같이 붙여넣고 저장을 누른후에

namespaces 버튼을 눌렀는데

 

...

mvc
mybatis
p
...

 

이렇게 나와야하는것이

 

저는

...

mvc
p

...

 

이렇게 나옵니다

 

그냥 강제로 하드코딩을 해야 하는건지

다른 방법이 있는지 여쭤봅니다.

답변 2

0

bee님의 프로필 이미지
bee
질문자

1.png

14.Mapper로딩하고 Mybatis와 연결하기 파트에서

root-context.xml 을 클릭하면 처음에 비어있는 상태로 시작했습니다.

 

그래서 jdbc연결해주는

<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">

<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>

<property name="jdbcUrl" value="jdbc:oracle:thin:@127.0.0.1:1521:XE"/>

<property name="username" value="hr"/>

<property name="password" value="hr"/>

</bean>

이걸 추가하고 Connection POOL을 만드는

<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">

<constructor-arg ref="hikariConfig" />

</bean>

 

이걸 추가했습니다. 이후

<!-- BoardMapper interface의 구현클래스 생성

SqlSessionFactoryBean(SQL을 실행하는 API) -->

<bean class="org.mybatis.spring.SqlSessionFactoryBean">

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

</bean>

를 추가하고

<mybatis-spring:scan base-package="kr.board.mapper"/>

를 추가해서 namespaces를 눌렀더니

mybatis-spring 부분이 없었습니다.

말씀대로 재실행을 해보았지만 똑같았기에

혹시 제가 놓치고 있는 부분이 있는지 혹은 제가 뭘 설치 덜했는지 여쭤봅니다

 

 

 

박매일님의 프로필 이미지
박매일
지식공유자

pom.xml에 데이터베이스설정에 필요한 API가 추가되었는지 봐보세요. 다음영상을 따라가보면 API추가 부분이 있을겁니다. API를 추가후에 네임스페이스를 다시 확인해보시기 바랍니다. (열려있는 xml파일을 닫고 다시 열어보시구요),

API를 추가후에도 네임스페이스가 않보이면 복사 붙여넣기하셔도 됩니다.

bee님의 프로필 이미지
bee
질문자

감사합니다 깃허브 주소 들어가서 비교해서 pom.xml이랑 web.xml에서 누락된 부분이 조금 있었습니다. 해결했습니다~

박매일님의 프로필 이미지
박매일
지식공유자

네 잘하셨습니다~~

0

박매일님의 프로필 이미지
박매일
지식공유자

image

root-context.xml에서 mybatis-spring Namespace를 추가해주셔야 됩니다.^^
혹시 root-context.xml 파일이 열려있으면 닫았다가 다시 열고 mybatis-spring Namespace를
추가해 줘보시기 바랍니다.(아래를 참고하시구요)

<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"

xmlns:context="http://www.springframework.org/schema/context"

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

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">

bee님의 프로필 이미지
bee

작성한 질문수

질문하기