eGovFramework

준동이·2023년 6월 13일
0

💡Spring MVC

Spring
		-> Framework(DI, AOP)
        		=> MVC
                + Lombok
                + Spring JDBC(JdbcTemplate / Pooling)
                + Mybatis
                + Mail
                + Upload
                => Maven(Gradle)로 처리
                
        -> Srping boot(유니콘)
        		+ tomcat 설정이 자동
                
        => 전자정부프레임워크(공공기관)
        		Spring MVC + Tomcat : 구형 template
                Spring boot : 신형 template



➖➖➖➖➖➖➖➖➖➖➖➖



💡eGovFramework Eclipse

설정

톰캣 넣기



com.exam.egov01 프로젝트 생성

new -> other -> eGovFrame



Target Runtime -> 톰캣 9.0설정



Generate Example 체크



다운 다 받았을시, jdk1.8로 되어있으며 여러가지 파일들이 다운되어있음.



HyperSQL

메모리 DB
https://hsqldb.org/

pom.xml



Mariadb 데이터베이스 / 사용자 생성

database : egov
user : egov
password : 1234

사용자 생성
create user egov@localhost identified by '1234';

데이터베이스 생성
create database egov;

모든 권한 주기
grant all privileges on egov.* to egov@localhost;



메모리 DB mariaDB에서 해보기

sampledb.sql에서 테이블 정보 가져와서 이름 수정 후 데이터베이스에 입력

CREATE TABLE SAMPLE(
ID VARCHAR(16) NOT NULL PRIMARY KEY,
NAME VARCHAR(50),
DESCRIPTION VARCHAR(100),
USE_YN CHAR(1),REG_USER VARCHAR(10)
);

CREATE TABLE IDS(
TABLE_NAME VARCHAR(16) NOT NULL PRIMARY KEY,
NEXT_ID DECIMAL(30) NOT NULL
);



sampledb.sql 의 insert문들 다 넣어주기 - text파일 참조

값 들어간 것 확인



mariadb용으로 수정

드라이버 다운로드 - pom.xml

mariadb 넣어주고 pom.xml의 원래 있던 주석을 풀고 밑에 주석을 달아줌



mariadb 사용 - context-datasource.xml



EgovSample_Sample_Mariadb.xml 설정

파일질라에서 다운받은 후 넣어줌



sql-map-config.xml 설정

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">

<sqlMapConfig>
	<!-- <sqlMap resource="egovframework/sqlmap/example/sample/EgovSample_Sample_SQL.xml"/> -->
	<sqlMap resource="egovframework/sqlmap/example/sample/EgovSample_Sample_MariaDB.xml"/>
</sqlMapConfig>



➖➖➖➖➖➖➖➖➖➖➖➖



💡Template Project

SPring MVC를 maven으로

com.exam.tegov01 프로젝트 생성



mariadb용 만들기

테이블 충돌할 수 있어서 기존에 만들었던 ids, sample 삭제

all_sht_ddl_mysql.sql에 있는 테이블 전부 생성



all_sht_data_mysql.sql 에서 데이터값 삽입



pom.xml에서 mariadb 라이브러리 생성

위의 hsqldb, mysql은 주석처리 해주었음.



데이터베이스 설정 / 연결

globals.properties


# DB서버 타입(mysql,oracle,altibase,tibero) - datasource 및 sqlMap 파일 지정에 사용됨
Globals.DbType = mysql // 나머지는 mysql 사용할거야
Globals.UserName=egov
Globals.Password=1234

# mariadb
Globals.DriverClassName=org.mariadb.jdbc.Driver
Globals.Url=jdbc:mariadb://127.0.0.1:3306/egov




밑에 Hsql 주석처리
#Hsql - local hssql 사용시에 적용
#Globals.DriverClassName=net.sf.log4jdbc.DriverSpy // 주석처리해줬음
#Globals.Url=jdbc:log4jdbc:hsqldb:hsql://127.0.0.1/sampledb // 주석처리해줬음



context-datasource.xml 설정

<!-- hsql 
<jdbc:embedded-database id="dataSource-hsql" type="HSQL">
	<jdbc:script location= "classpath:/db/shtdb.sql"/>
</jdbc:embedded-database>
-->



index.jsp 실행하여 정상 실행되는지 확인



테이블의 관계 ERD

diagram -> forward engineering -> database
forward engineering : 실제 데이터베이스 안으로 테이블 만들어주는 과정

diagram -> reverse engineering -> difram(physical)
reverse : 데이터베이스 안에 있는것들은 반대로 그려주는 것

데이타베이스 연결 드라이브 폴더에 넣기

new -> ER 다이어그램 -> 프로젝트 선택 후 -> SQL Dialect : MySQL 설정

눌러서 마리아디비 누르면 자동으로 Driver 생성



ERD 보기 - Load tables

오른쪽 클릭 -> import -> Import From Database -> Load tables 누르고 전체 드래그 -> finish



DDL 생성

오른쪽클릭 -> Export -> DDL



➖➖➖➖➖➖➖➖➖➖➖➖



💡참고 - ERD editor

https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:dev:imp:editor:erd_editor



➖➖➖➖➖➖➖➖➖➖➖➖



💡eGovFramework Spring Boot



톰캣이 필요 없다





전체적인 버전



application.yml

포트번호를 변경 할 수 있다. 8080 -> 9090으로 바꿈

9090 포트번호 확인



mariadb로 변경

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>



EgovSample_Sample_MariaDB.xml 추가



sql-map-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd">

<sqlMapConfig>
	<!-- <sqlMap resource="egovframework/sqlmap/example/sample/EgovSample_Sample_SQL.xml"/> -->
	<sqlMap resource="egovframework/sqlmap/example/sample/EgovSample_Sample_MariaDB.xml"/> 
</sqlMapConfig>



config - EgovConfigDatasource

package egovframework.example.config;

import javax.sql.DataSource;

import org.apache.commons.dbcp2.BasicDataSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;

@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;
	}

}



실행

application에서 실행하여 톰캣, 서버 연결 후 http://localhost:9090/ 입력



➖➖➖➖➖➖➖➖➖➖➖➖



💡리눅스

유닉스를 무료화한게 리눅스

System
		Operation System
        Platform
		프로그램을 실행하기위한 기본 환경
		
        Hardware 제작
        		 하드웨어 전용 platform - 유닉스
                 
                 프로그램 개발
                 		업체 : 유료
                        대학원(버클리, BSD) : 공개(무료)



➖➖➖➖➖➖➖➖➖➖➖➖



💡우분투 설치

우분투 리눅스
1. hardware에 직접설치(서버)
2. 윈도우 위에 가상머신 -> 가상머신 안에 Linux 또는 ubuntu 설치

가상머신( CPU virtualization(BIOS) )
	유료 - vmware	- vmware사 에서 만듦
    		무료 - vmware player
            
    무료 - virtual box - oracle사 에서 만듦
    	- Hyper-V / WSL	-	MS가 만듦

설치



이 부분만 빼고(체크 해제) 설치중 건드리는 것 없음.



그럼 바탕화면 아이콘 생성



우분투리눅스 설치하기

아이콘 클릭

하드웨어만 만든다는것 체크



OS 선택



C 드라이브에 다운받을 폴더 생성



위 폴더로 경로 설정 해준다



60기가로 설정



후 finish 하면 하드웨어 만들어진다 / 이게 하나의 컴퓨터



다운받았던 우분투 파일 browser에서 선택



설정 후 play 눌러서 실행시 뜨는 화면에서 첫번째꺼 선택



Ubuntu 설치 클릭



최소설치 선택





정보 설정



실행



화면에 영어로 무슨 안내문뜨면 동그라미친 부분 오른쪽 클릭 -> setting -> CD / DVD선택, Use physical drive 선택 -> ok 후 우분투 화면에서 엔터키하면 재부팅



아이디 비밀번호 입력



백업하기

Remove 하면 지워짐 / 밑에 Delete하면 그냥 아예 지워지니까 안누르게 조심 !



폴더 복사 -> 컴퓨터를 하나 더 만든거와 같은 것.
복사를 하며 사용하면서 백업용으로도 사용.
복사하여 사용후 이상이 생기면 삭제하고 다시 원래꺼를 복사해서 사용하고 하는 백업의 이점이 있음.



불러오기를 하려면 Open a Virtual Machine 클릭 -> 탐색기에서 사용할 우분투 폴더 안의 파일 불러오면 된다. / 이름은 맞게 바꿔줬음



업데이트

실행 후 -> 앱 표시 -> 소프트웨어 업데이터에서 업데이트 하기.



💡Linux Window System

X-Window : gui
리눅스에서 사용하는 윈도우 시스템
기본 명령 환경 : cui(O)



리눅스를 사용하는 개발자

1. SE(System Engineer)
IDC : Internet Data Center
=> 설치 / 보안 / 백업 / 복원 모니터링, 관리 프로그램 제작(시스템 개발자)

2. 백엔드 개발자
=> 웹서버 중심의 개발자 
   cui를 활용할 수 있는 명령어 습득 ...

3. IoT 개발자
=> 



profile
개발자 꿈나무

0개의 댓글