저번에 이어서 오늘은 DB연결 즉 정말 유용한 Mybatis연결을 하겠습니다.
web.xml에서 appservlet의 구성
→ <param-value>를 보시면 classpath를 이용해서 application*.xml 명시했습니다.
즉 저는 appservlet을 2개를 만든셈이죠~~
다음은 pom.xml 에서 mybatis DI를 해주어야 합니다!!
DB를 mysql을 쓰신다면 아래 항목을 추가해주시고 ojdbc를 빼주세요
----------------------------------------------------------------
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>1.3.0</version>
</dependency>
----------------------------------------------------------------
주의!! 오라클은 아래한개더 추가해주셔야 합니다!!!
Maven Dependencies 항목에서 아래처럼 추가가 됐다면 이상없이 다운받아진것이다.
이제 application-context.xml 돌아와서 본격적으로 DB연결을 시작하겠습니다
①. 아래처럼 DB에서 사용하는 user name를 정의 시켜주세요
②. 다음은 Mybatis와 스프링 연동작업에서의 핵심은 Connection을 생성하고 처리하는
SqlSessionFactory 입니다.
<property name="configLocation ">
자바는 자동으로 리소스를 찾기 위한 좋은방법을 제공하지 않는다. 그래서 어디서 찾으라는 것을 명시 해주어야 한다.
그래서 필자는 XML파일을 만들어 따로 관리를 해주었다. 파일명( mybatis-config.xml )
필자는 위와 같이 Mapper XML 파일을 정의했다.( 실제로 사용되는 SQL파일 경로이다 )
Mapper XML 파일
Mybatis를 처음사용하시면은 신세계일 것이다!! 기존에는 String sql ="SELECT * FROM test" 하면서 반복문돌리며 뽑아서 그걸 다시 객체로 반환시켰을텐데 Mybatis는 <select>태그 안에 원하는 쿼리문을 넣어주면 끝이다!!!!
Namespaces 는 이전버전에서는 사실 선택사항이었다. 하지만 이제는 패키지경로를 포함한 전체 이름을 가진 구문을 구분하기 위해 필수로 사용해야 한다. (DAO 패키지 경로를 넣어주면 된다)
resultType 는 SQL을 조회한 결과의 return 타입을 정해주는 것이다.
parameterType 는 매개변수로 넣어오는 값을 정해주는 것이다.
다음은 DAO 화면이다
필자는 DAO 구조를 다르게 한것이다
service, mapper, DAO 3단구조로 나누워서 해도 되지만 필자처럼 DAO 하나로 걸쳐서 하는 방법도 있다.
꼭 뭐가 답이 정해져있지는 않으나 대체적으로 3단구조로 많이 한다.
우선 @Component 어노테이션을 통해 빈을 등록 하였고 @Autowired를 통해 의존성 주입을 해주었다.
getLists메소드를 보면 MapperXML 파일에서 select id='getLists'와 동일한것을 볼수 있다. 이름을 동일하게 해주어야 한다는것이다!!
마지막으로 필자의 파일의 경로이다
이상으로 Mybatis 연결을 완성했습니다
'FreamWork > Spring' 카테고리의 다른 글
2018.12.08 스프링 엑셀다운로드 (0) | 2018.12.08 |
---|---|
2018.11.26 스프링 사용이유 - 왜 스프링을 사용하지? (0) | 2018.11.26 |
2018.05.27 스프링개발 - (4) DB연결 및 Mybatis 연결 테스트 (0) | 2018.05.27 |
2018.05.24 스프링개발 - (2) web.xml 설정 및 정리 (0) | 2018.05.24 |
2018.03.22 스프링 개발 - (1) 개발환경 구성하기 (0) | 2018.03.22 |