GitHub

https://github.com/Backcoder-June

BackCoder 기록 그리고 숙달

Back to the eGovFrame

[ eGov ] Mysql 연동, Mybatis 설정

Backcoder 2022. 12. 31. 23:56

버전문제

3.10 버전 환경이기 때문에 ( 2021 release )

기본적으로 JDK 1.8 버전과 호환됩니다. 

 

 

저는 기존의 프로젝트를 진행하며 Java 11 버전을 사용중이었는데 

3.10 버전에서 Java11 을 사용할 수 있는가 하는 질문에 대해 

eGov 공식사이트에 답변 맥락은 

 

'사용은 가능할 것이나 버전문제 있는 부분들이 있을 수 있다. 

JDK1.8 버전과의 Test 만 완료된 상태이다.' 

 

였습니다. 

 

( 진행중이던 프로젝트가 있어 Java11 버전으로 eGov 3.10 환경을 이용해 보았습니다.

자잘자잘한 버전문제들이 발생하는 것 같습니다. 프로젝트를 진행한다면 버전일치는 꼭 해두는게 좋을 것 같습니다. )  

 

 

MySQL 연동 

 

1. dbcp 버전 => Jdk 1.8 필요

commons-dbcp 를 사용해서 Mysql 에 연동하려면 JDK 버전을 맞춰줘야 했습니다. ( jdk 1.8 )

 11 버전에서 연동할 수 있도록 dbcp => JDBC 를 사용했습니다. 

=> pom.xml => spring-jdbc 설치 

=> mysql-connector-java 현재 로컬 mysql 버전과 일치하도록 설치 

=> context-dataSource.xml 

mysql bean class  = dbcp(default)  => jdbc 적용 

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">

( dirverClass 에 com.mysql.(cj).jdbc.Driver => cj 필요 여부 확인 필요 )

 

 

2. ojdbc jar 설치

  • ojdbc jar 파일이 자동 설치 되어있지 않았습니다. 

=> 따로 설치하여 WEB-INF - lib 경로에 설치

( MavenRepository 에 14버전 jar 파일 링크가 not found 상태인 듯합니다. 따로 다운받아주었습니다. ) 

 

 

3.  Mybatis - Mapper 연동

 

 

  •  @Autowired 대신 @Resource 사용

@Controller, @Service, @Mapper 등 name 값 설정하고  @Resource(name="") 네임 값과 매칭

  •  Mybatis config 에서 Alias 경로 설정 확인
  • 서비스단 EgovAbstractServiceImpl 상속 해서 사용 
  • SQL xml -  <mapper namespace="클래스 경로 /Mapper클래스"> 로 Mapper 매칭
  • SQL xml -  <resultMap> 활용 => Table 컬럼과 변수명 매칭
  • context- xml 에서 basepackage 확인