23.06.13 : 전자정부프레임워크

이준영·2023년 6월 13일
0
Spring   -> framework(DI, AOP)
				=> MVC
                		+ Lombok
                       	+ Spring JDBC(jdbcTemplate / pooling)
                        + Mybatis
                        + Mail
                        + Upload
                        => Maven(Gradle)
                        
                        이런 기능들을 편하게 쓰기 위해
                        ===> Spring Boot  ( + tomcat 설정 내장되어 있음 )
                        
                        이 구조로 만들어진 것이 전자정부프레임워크이다.
                        Spring MVC + Tomcat : 구형 template
                        Spring Boot : 신형 template



전자정부프레임워크

개발환경 다운로드 - 4.x 다운로드에서 윈도우 버전 다운 - 실행


프로젝트 목록

boot(신형) / mobile / 구형 버전으로 각각 나뉘어져 있다.



db 연동

  1. pom.xml에서 해당 부분 주석 풀고 mariadb 라이브러리 가져오기

해당 부분 주석제거(이 부분만 주석 제거 함, 다른 부분은 주석)

<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>
        
<dependency>
		    <groupId>org.apache.commons</groupId>
		    <artifactId>commons-dbcp2</artifactId>
		    <version>2.9.0</version>
</dependency>

후에 마리아디비 라이브러리 가져오기

<!-- https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client -->
<dependency>
		    <groupId>org.mariadb.jdbc</groupId>
		    <artifactId>mariadb-java-client</artifactId>
		    <version>3.1.4</version>
</dependency>


  1. src/main/resources -> eogvframework -> spring -> context-datasource.xml 가서 mariadb 드라이버 생성
같은 공간의 mysql 복사해서 변경해주기

    <!-- MariaDB -->
    <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="org.mariadb.jdbc.Driver"/>
        <property name="url" value="jdbc:mariadb://localhost:3306/egov" />
        <property name="username" value="egov"/>
        <property name="password" value="1234"/>
    </bean> 


  1. src/main/resources -> eogvframework -> sqlmap -> sample에서 EgovSample_Sample_MariaDB.xml( 받아오기 ) 넣기

( 넣는 이유는 select 구문이 mariadb구문이 아닌 것이 있어서 그것을 바꿔주기 위함 )


이 부분을

이후에 sql-map-config.xml에서 SQL -> MariaDB로 바꿔주기


index에서 실행 후 하나 써보기 --> db에서 확인




eGovFrame Template Project


생성 후 실행하면 이런창이 뜬다. (관리자 모드 로그인 하는 모습)


패키지 양이 어마무시하다.


db연동

충돌 방지하기 위해 아까 만들었던 테이블 전부 삭제하기


DATEBASE -> all_sht_ddl_mysql.sql ( create 문 ) 들어가서 db에 전부 넣어주기
(all_sht_data_mysql.sql는 insert,update... 구문)

18개 정도의 테이블이 생긴다.

후 all_sht_data_mysql.sql 가서 insert 넣어주기



마찬가지로 pon.mxl가서 주석해주고 mariadb 라이브러리 넣기

이 두 부분 주석 후 넣기

<!--
		<dependency>
			<groupId>org.hsqldb</groupId>
			<artifactId>hsqldb</artifactId>
			<version>2.5.2</version>
		</dependency>
		-->

		<!-- mysql driver
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.29</version>
        </dependency>
		-->


src/main/resources -> eogvframework -> egovProps 에서 데이터 설정

이 부분 설정하기



이 부분 주석하기



src/main/resources -> egovframework -> spring -> com -> context-datasource.xml에서 나머지 설정 ( hsql 주석 후 mysql부분 확인)



index 실행



ERD

diagram -> forward engineering -> database

database -> reverse enginerring -> diagram(physical)

database 연동 작업 위하여 전자정부프레임워크 폴더에 드라이버 넣기



ER diagram 생성하기

이렇게 설정해주고 생성 ( JAR File은 아까 넣은 드라이버 가져오는 것!)


생성된 모습



reverse enginerring

우클릭 -> import -> import from database 하고 Load tables 하여 전체 선택 후 finish


erd 구조 나온다.



ddl 생성

우클릭 -> export -> ddl 클릭시 ddl 파일 생성된다.




egov web project + String Boot 사용

톰캣이 내장되어 있어 톰캣 설정할 필요 x

기본 구성 방식은 동일하나, 실행클래스 위치, controller 추가 등이 다르다.



생성 후 pom.xml에서 버전 확인(2.7.0)



src/main/resources -> application.yml 에서 port 번호를 바꿀 수 있다.

바꾸고 실행클래스에서 실행시, 9090으로 가야 실행된다.


db연동

데이터 연결하는 곳은 eogvframework.example.config -> EgovConfigDatasource

  1. 먼저 pom.xml에 이 두 라이브러리 넣기
<dependency>
		    <groupId>org.apache.commons</groupId>
		    <artifactId>commons-dbcp2</artifactId>
		    <version>2.9.0</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client -->
<dependency>
		    <groupId>org.mariadb.jdbc</groupId>
		    <artifactId>mariadb-java-client</artifactId>
		    <version>3.1.4</version>
</dependency>


  1. src/main/resources -> eogvframework -> sqlmap -> sample에 sqlmapEgovSample_Sample_MariaDB.xml 추가하고,
    sample에 sql-map-config가서 Mariadb로 바꾸기



eogvframework.example.config -> EgovConfigDatasource 가서 데이터베이스 연결 구문 쓰고 실행

@Configuration
public class EgovConfigDatasource {

	@Bean(name="dataSource")
	public DataSource dataSource() {
	    //EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
	    //return builder.setType(EmbeddedDatabaseType.HSQL).addScript("classpath:/db/sampledb.sql").build();
		
		BasicDataSource basicDataSource = new BasicDataSource();
		basicDataSource.setDriverClassName("org.mariadb.jdbc.Driver");
		basicDataSource.setUrl("jdbc:mariadb://127.0.0.1:3306/egov");
		basicDataSource.setUsername("egov");
		basicDataSource.setPassword("1234");
		
		return basicDataSource;
	}

실행클래스에서 실행 후 이동



profile
끄적끄적

0개의 댓글