전자정부 프레임워크의 Simple homepage는

default로 hsql로 되어있다.

이것을 mysql로 바꾸려면


기존 hsql로 되어있는 설정을 mysql로 바꾸면 된다.

(hsql의 GlobalsDriverClassName, Blobals.Url 은 지우거나 주석처리)

# DB서버 타입(mysql,oracle,altibase,tibero) - datasource 및 sqlMap 파일 지정에 사용됨
Globals.DbType = mysql
Globals.UserName=접속할 아이디(root)
Globals.Password=비밀번호

# mysql
Globals.DriverClassName=net.sf.log4jdbc.DriverSpy
Globals.Url=jdbc:mysql://127.0.0.1:3306/sht
 



저 파일만 바꾸고 RUN as Server 로 실행시키면 net.sf.log4jdbc.DriverSpy 가 없다고 에러가 난다.

aused by: org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'net.sf.log4jdbc.DriverSpy'
    at org.apache.commons.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1429) ~[commons-dbcp-1.4.jar:1.4]
    at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371) ~[commons-dbcp-1.4.jar:1.4]
    at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) ~[commons-dbcp-1.4.jar:1.4]
    at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:204) ~[spring-jdbc-4.2.4.RELEASE.jar:4.2.4.RELEASE]
    ... 54 more
Caused by: java.lang.ClassNotFoundException: net.sf.log4jdbc.DriverSpy 


pom.xml 파일에서도 해당 설정을 바꿔줘야 한다.

hsql 은 주석또는 제거하고

        <!--
        <dependency>
            <groupId>org.hsqldb</groupId>
            <artifactId>hsqldb</artifactId>
            <version>2.3.2</version>
        </dependency>
        -->
        <!-- mysql driver -->
       
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.31</version>
        </dependency> 


주석처리되어있는 log dependency도 주석 제거한다.

        <!-- log4jdbc driver -->
        <dependency>
            <groupId>com.googlecode.log4jdbc</groupId>
            <artifactId>log4jdbc</artifactId>
            <version>1.2</version>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-api</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency> 


그다음 RUN as Server 했을 때 no bean named 에러가 나면

src/main/resources/egovframework/spring/com/context-properties.xml

파일에 공백을 넣든 뭐든 해서 수정한 다음 저장한다.

ERROR org.springframework.web.servlet.DispatcherServlet - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'EgovFileMngUtil': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'propertiesService' is defined

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'propertiesService' is defined 


그러면 될 줄 알고 가동하면 db명을 모르겠다는 에러가 난다.


Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Unknown database 'sht') 

말그대로 sht라는 database가 없다는 에러다.

기본설정으로 sht로 설정되어있으므로

mysql에 생성한 db명을 써야한다. (나의경우 egov_simplehome)로 해서 바꿔주었다.
src/main/resources/egovframework/egovProps/globals.properties

# mysql
Globals.DriverClassName=net.sf.log4jdbc.DriverSpy
Globals.Url=jdbc:mysql://127.0.0.1:3306/egov_3_7 


그리고 가동을 하면...

Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'egov_simplehome.lettnbbs' doesn't exist 


테이블이 없다고 하네...

프로젝트 아래 DATABASE 폴더에 XXX_mysql.sql 파일이 두 개 있다.

ddl 먼서 import 한뒤에

data를 import 하면

다음과 같이 붐~~


로그인을 해 보자

( 암호화 되기 때문에 찾기 힘들었음 ㅜㅜ, egov, admin 등등 해 봤으나 ...결국 찾아 냄)

(data insert 할 때 admin이 추가되었다.)

id : admin

pw : 1



크롬에서는 근데 깨지네..


이거야 뭐 차차 해결해 나가면 되는거고

어쨌거나... 그냥 옮기기도 어렵네 그랴..

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

BLOG main image
"그게 뭐 어쨌다는 거냐?" 늘 누가 나에게 나에대한 말을할 때면 이말을 기억해라. by nobang

카테고리

nobang이야기 (1663)
Life With Gopro (7)
Life With Mini (72)
Diary (926)
너 그거 아니(do you know) (128)
난 그래 (125)
속지말자 (9)
Project (34)
Poem (14)
Song (0)
Study (150)
Photo (113)
낙서장 (45)
일정 (0)
C.A.P.i (2)
PodCast (0)
nobang (27)
고한친구들 (4)
recieve (0)
History (0)
android_app (2)

최근에 받은 트랙백

Total : 522,830
Today : 27 Yesterday : 155