개발/java,spring

전자정부 프레임워크에 sqLite3 DB 연결 하기

Mr.mandu. 2019. 3. 15. 10:00

안녕하세요.

오늘은 sqLite3 DB를 연결해보자 합니다.


이전에 테스트로 sqLite3를 다운받아 사용했었습니다.


[개발/DB] - 윈도우 64비트 SQLite3 설치 및 실행(콘솔 및 그래픽 활용 가능)


설치한김에 전자정부 프레임워크에 연결까지 해보고 삭제하려고합니다...

간혹 전자정부프레임워크에 2개의 DB를 연결하는 방법을 찾는분들도 계시고하니깐요.


먼저 pom.xml에 메이븐을 설정합니다.

gradle이나 웹 프로젝트에는 각각 설정하시면 될거 같습니다.



pom.xml 추가

<dependency>

    <groupId>org.xerial</groupId>

    <artifactId>sqlite-jdbc</artifactId>

    <version>3.25.2</version>

</dependency>




context-datasource.xml 설정


    <bean id="dataSourceSqlite"         class="org.springframework.jdbc.datasource.SimpleDriverDataSource" >

  <property name="driverClass" value="org.sqlite.JDBC"/>

  <property name="url" value="jdbc:sqlite:C:/sqlite/test.db"/>

  </bean>


아직 비밀번호 설정하는 법은 배우지 못했습니다.

기본 로컬경로에 있는 DB를 연결하였습니다.




context-sqlMap.xml설정

      <bean id="sqlMapClientSqlite" class="egovframework.rte.psl.orm.ibatis.SqlMapClientFactoryBean">

<property name="configLocation" value="classpath:/egovframework/sqlmap/config/sql-map-config.xml"/>

<property name="mappingLocations" value="classpath:/egovframework/sqlmap/sql/sqlite/*/*.xml"></property>


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

    </bean>


저는 쿼리를 작성하는 부분으로 

resources/egovframework/sqlmap/sql/sqlite/data 경로에 data.xml을 생성하였습니다.


테스트를 위한 쿼리 입으로 간략하게 적었습니다.








	
		
		
	
	
    
    




그리고 sqlMapclient로 사용할 자바 클래스를 만들었습니다.

SqliteDataAbstractDAO 생성

public class SqliteDataAbstractDAO extends EgovAbstractDAO {
    /**
     * DB별 sqlMapClient 지정
     */
    @Resource(name = "sqlMapClientSqlite")
    public void setSuperSqlMapClient(SqlMapClient sqlMapClient) {
        super.setSuperSqlMapClient(sqlMapClient);
    }
}


그리고 일반적으로 Service, ServiceImpl의 사용법은 똑같고

DAO 단에서 상속을 SqliteDataAbstractDAO 로 받으시면 됩니다.


@Repository("sqliteDAO")
public class SqliteDAO extends SqliteDataAbstractDAO {
	
	/** data 정보 */
	public List  datatList(Map params) {
		List list =  (List) list("sqlite.data.dataList",null);
		return list;
	}
}


이미 전자정부 프레임워크를 사용하고 계시다면
DB끌어 쓰는건 동일할테니 DAO단만 소스코드 첨부하였습니다.

혹시 궁금하신점 있으면 댓글남겨주세요.

좋은하루보내세요.