개발 공부/전자정부프레임워크

[전자정부프레임워크] MariaDB 연동 설정

가이윤 2022. 5. 26. 15:33

이 게시물은 이전 게시물에서 이어집니다.

[전자정부프레임워크] Controller 생성해서 jsp 연결

 

[전자정부프레임워크] Controller 생성해서 jsp 연결

이 게시물은 이전 게시물에서 이어집니다. [전자정부프레임워크] 프로젝트 생성 전후에 설정하기 [전자정부프레임워크] 프로젝트 생성 전후에 설정하기 전자정부프레임워크로 프로젝트를 생성

hansol94.tistory.com

 

오늘은 MariaDB를 연동하기 위해 설정하는 작업을 해보겠습니다.

우선 MariaDB를 사용하기 위해 jar 파일이 필요합니다.

https://mariadb.org/download/?t=connector&p=connector-java&r=2.7.3&os=universal 

 

Download MariaDB Server - MariaDB.org

REST API Release Schedule Reporting Bugs … Continue reading "Download MariaDB Server"

mariadb.org

 

그림처럼 선택하고 Download 를 합니다.

 

jar 파일을 다운 받아서 C 디스크 아래에 폴더 만들어서 넣어줍니다.

(2.7.1 버전은 다른 프로젝트에서 사용한 것입니다.)

 

jar 파일을 lib 폴더 밑에 복사합니다. 

drag & drop 이 되지 않으니 복사 붙여넣기 합니다.

 

이제 MariaDB를 연동하기 위한 설정을 하겠습니다.

pom.xml을 실행합니다.

 

ctrl + f 눌러서 mysql을 검색합니다.

그림에 "<!-- mysql이나 oracle ~ 설정 추가" 부터 밑에 ojdbc 부분까지 주석 처리되어 있는 것을 제거 합니다.

 

그림에 표시된 "-->" 기호를 제거합니다.

주석 제거 전
주석 제거 후

 

ojdbc 부분의 dependency 는 오라클 부분이라서 필요없기 때문에 제거하고, mysql 부분은 mairadb로 수정할겁니다.

수정 전

groupId 와 artifactId 는 그림과 같이 하고 version 은 다운로드 받은 jar 파일 버전에 맞게 입력하면 됩니다.

수정 후

 

 

context-datasource.xml 을 실행합니다. (ctrl + shift + R)을 활용하면 빠르게 찾을수 있습니다.)

 

코드 중에서 mysql 부분의 코드를 복사해서 수정을 할겁니다.

 

테스트 실행용은 주석처리하고 위에 복사한 코드를 붙여넣습니다.

그림에 표시된 부분을 수정할건데, 그 전에 mariadb를 설치해서 DB를 생성해야합니다.

여기서는 mariadb를 설치하고 DB까지 생성했다고 가정하고 진행하겠습니다.

저는 vmware에 CentOS 7 리눅스를 설치하고 MariaDB를 설치해서 DB를 생성을 한 상태입니다.

수정 전

DB를 생성하고 DBeaver 툴을 사용해서 테이블을 생성하고 데이터들을 넣었습니다.

저는 원격에서 연결하는 것이기 때문에 Server Host와 Port 가 저렇고 대부분은 본인 컴퓨터에 바로 설치하는 방식이기 때문에 127.0.0.1 일 것입니다. 그리고 포트 번호도 보통 3306으로 할 것입니다.

표시된 부분을 수정하면 된다.

다른 블로그를 참고해서 했을때 dbcp2를 dbcp로 수정하지 않아서 에러가 나서 헤맨적이 있어서 표시했다.. ㅋㅋ

context-mapper.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 http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">

	 <!-- SqlSession setup for MyBatis Database Layer -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="configLocation" value="classpath:/egovframework/sqlmap/sql-mapper-config.xml" />
        <property name="mapperLocations" value="classpath:/egovframework/sqlmap/mappers/*.xml" />
    </bean>
 
    <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
        <constructor-arg ref="sqlSessionFactory"/>
    </bean>
    
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>
    
    <!-- MapperConfigurer setup for MyBatis Database Layer with @Mapper("deptMapper") in DeptMapper Interface -->
     <bean class="egovframework.rte.psl.dataaccess.mapper.MapperConfigurer">
        <property name="basePackage" value="egovframework.example.sample.service.impl" />
    </bean>
    
</beans>

수정 후

 

src/main/resources - egovframework - sqlmap - example 폴더로 갑니다.

그림에 표시된 EgovSample_Sample_SQL.xml을 삭제합니다.

 

context-sqlMap.xml은 삭제하고 mappers 폴더와 sql-mapper-config.xml 파일을 sqlmap 폴더 바로 밑으로 옮겨줍니다.

context-sqlMap.xml 삭제하기전

 

옮기는 이유는 아까 context-mapper.xml 파일에서 이 코드가 수정되었기 때문입니다.

원래는 sqlmap/example/(폴더or파일들) 이런 식으로 sqlmap 밑에 example 폴더명이 있었습니다.

 

mappers 폴더에서 오른쪽 마우스를 클릭해서

 

 

MyBatis XML Mapper 선택하고 Next를 눌러서 BoardMapper.xml 입력하고 finish를 눌러 생성합니다.

 

sample은 사용하지 않을 것이기 때문에 sample 패키지를 삭제합니다.

 

sql-mapper-config.xml 파일에서 표시된 코드도 필요 없기 때문에 삭제합니다.

 

프로젝트를 오른쪽 마우스 클릭해서 Maven -> Update Project ( 단축키 alt + F5 사용도 가능) 해당 프로젝트를 Update 해줍니다.

Maven 업데이트는 pom.xml을 변경을 했으면 해줘야 합니다. 

 

이 때까지 폴더나 파일들을 생성, 삭제하고 최종 결과물은 이렇습니다.

비교해보시고 파일이나 폴더 위치 같은 것들이나 삭제하지 않거나 생성하지 않은 것이 있는지 비교해보세요.

특히 src/main/resources -> spring -> sqlmap 부분에서 착각해서 실수할 수 있으니 자세히 잘 보세요.

서버를 (재)실행해서 console 창에 에러가 나지 않았다면 제대로 따라한 것 입니다.

여기까지 했으면 MariaDB 연동 설정하는 것은 끝났습니다.

다음에는 java 에서 데이터 처리하는 부분을 구현해서 DB의 데이터를 jsp 화면에 표시해보겠습니다.

 

 

[전자정부프레임워크] MariaDB 데이터를 JSP로 출력

 

[전자정부프레임워크] MariaDB 데이터를 JSP로 출력

이 게시물은 이전 게시물에서 이어집니다. [전자정부프레임워크] MariaDB 연동 설정 [전자정부프레임워크] MariaDB 연동 설정 이 게시물은 이전 게시물에서 이어집니다. [전자정부프레임워크] Controll

hansol94.tistory.com