본문 바로가기

Spring

스프링 개발환경 세팅하기 - 5 - 마이바티스 연동

이 글을 작성하게 된 계기는.. 내가 개발환경 구축하는 것을 못해서입니다. 

이클립스 마이바티스 검색해보니까 죄다 리눅스환경이거나, JUnit? 이런걸 쓰는데

JUnit 쓰는게 더 최신인가요? 학원에서는 안가르쳐주던데.. 

그래서 JUnit 안쓰는걸로 했습니다 

 

 

-------------------------------------------

 

 

 

 

일단 DAO, DTO, Service 까지 만들어서 Autowired 해서 생성자 실행까지 해보고,

그다음에 마이바티스 연동 할 생각입니다. 

 

만들어둔 프로젝트에 pom.xml 에다가 저 구절을 추가해준 뒤에 저장.

---------------------------------------------

패키지랑 클래스를 만들어놓는다. 아직 내용 안채웠음

 

그냥폴더, 그냥xml파일을 만들어놓는다. 아직 내용 안채웠음 

-------------------

요까지하고 프로젝트 실행해보니 됨.. 

--------------------

 

그다음은.. JdbcConfig의 속을 채워볼게요 

 

 

더보기
<?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 http://www.springframework.org/schema/beans/spring-beans.xsd">

	<!-- dataSource 객체 생성  -->
	<bean name="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
		<!-- 서버 IP 설정 -->
		<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" />
		<!-- DB 아이디, 비번 -->
		<property name="username" value="hr" />
		<property name="password" value="123" />
	</bean>

	<!-- mybatis와 DB 연결을 해준다. -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource"/>
		<property name="configLocation" value="classpath:mybatis/MybatisConfig.xml"/>
		<!-- mybatis mapper 파일 등록 -->
		<property name="mapperLocations">
			<list>
				<value>classpath:mybatis/TestMapper.xml</value>
			</list>
		</property>
	</bean>

	<!-- destroy-method 자동적으로 소멸될때 메소드 실행 -->
	<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate" destroy-method="clearCache">
		<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"/>
	</bean>

</beans>

JdbcConfig.xml 

밑줄친 부분의 설정에 주의해서 채운다.

오라클에 localhost 인지, 아이피인지, orcl인지 xe인지? 

사용할 데이터베이스 사용자명 비밀번호가 뭔지

MybatisConfig.xml 의 경로, Mapper의 경로 

-------------------------------------

 

이다음에는 이제 MybatisConfig.xml 을 채워보자.. 

 

이렇게 채워줌. type에다가 아까 만들어준 testDTO 의 경로. alias 는 앞으로 저  형식을 tDto 라고 부르겠따는 뜻.. 이거를 가지고 TestMapper에서 활용함 

 

이제 TestMapper.xml 을 채워보자.. 

--------------------------------

요까지하고 다시 서버 재실행 해볼게요 

실행잘됬습니다. 

-------------------------------

그다음 web.xml에다가 추가해줌

이러면 한글이 잘나옴..  

 

 

 

 

 

 

 

 

===========================

sql디벨로퍼 켜서, JdbcCOnfig.xml 에 써져있는 계정으로 들어간뒤에 테이블 만들고, 데이터 2개만넣고 커밋
잘 넣어졌다..

===============================

 

그다음은 testDTO.java 를 보자

오라클에 만든거랑 변수명이 똑같아야함. 똑같이 만들어줌 

------------

그다음 dao 를 보자. 

저기 저 네임스페이스가 testMapper 에 그 네임스페이스이다.

뒤에서 데이터베이스에 접근하는걸 추가할거임. 

 

-------------

그다음 서비스를 보자. 

뒤에서 dao로 뭔가 하는부분을 추가할거임.

------------

그다음 Controller 를 보자 

여기까찌 이제 오토와이어드로 빈즈가 만들어진.. 그런게 다 된거임.. 

 

---------------

이제 연결된 것들로 메소드를 만들어서 잘 되나 테스트를 해봅시다.. 

 

컨트롤러에 추가

55번째 라인만 보면됨. service의 testmothod 메소드에 model을 파라미터로 보냄

testService에 추가

dao의 testmethoddao의 리턴값을 String인 teststring에 저장한뒤, 모델에 valt1 이라는 값으로 저장을해줌

testDao에 추가

스트링을 결과값으로 거시기함. 

--------------

이거를 test01.jsp 에 model 값으로 전달이 잘 됬나 보자 

값을 띄워줌
전달이 잘 됬따.

--------------------------

이제 진짜 데이터베이스 연결만 하면 된다.. 

ojdbc6.jar 이것을 여기저기 넣어보겠습니다. 

ojdbc6 파일은 다음 경로에 있다.
이 경로에 넣어줬다. 

참고(https://jun7222.tistory.com/300

 

------------------------

여기다가도 추가

참고(http://blog.naver.com/turtle0720/60208826288)

------------------------

그다음 이클립스 재부팅

라이브러리에 ojdbc6이 있으면 이제 된단다.. 

진짜 될까? 

--------------------------

web xml에 다시 JdbcConfig.xml 을 추가해줬더니 된다.. 나이스샷... 

이제 데이터베이스에 접근을 시켜보자 

-----------------------------

 

이게.. 흐름이 어떻게 되냐하면

Controller 에서 Service 를 부릅니다. 

Service 는 dao 를 부릅니다. 

dao 는 Mapper 를 부릅니다.

Mapper 가 db에 접근합니다.

 

이 순서니까 맨 마지막에 위치한 Mapper 부터 볼께요! 

이부분 추가함.. 결과값은 TestDTO 형식으로 담길 것이라서 mybatisConfig.xml 에서 추가한 저거가 리설트 타입으로 들어가는것이다.

 

-------------------------------------------------------------

그다음은 dao 입니다. 

----------------------------------

그다음은 Service 

----------------------------

그다음은 컨트롤러

-------------------

그다음은 jsp페이지 

 

-------------------------------

 

프로젝트실행

 

참고(https://okky.kr/article/452094)(https://kamang-it.tistory.com/entry/JSP%ED%86%B0%EC%BA%A3%EA%B3%BC-%EC%98%A4%EB%9D%BC%ED%81%B4-DB%EC%97%B0%EB%8F%99)(https://krespo.net/110)(https://donggeuri0320.tistory.com/entry/%EC%9D%B4%ED%81%B4%EB%A6%BD%EC%8A%A4-MyBatis)(https://mkil.tistory.com/296)

----------------------------

 

내가 해냈다... 다음은 롬복(https://kingname.tistory.com/112) 하고 mysql 를 마이바티스랑 해볼꺼임