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
new -> other -> eGovFrame
메모리 DB
https://hsqldb.org/
database : egov
user : egov
password : 1234
사용자 생성
create user egov@localhost identified by '1234';
데이터베이스 생성
create database egov;
모든 권한 주기
grant all privileges on egov.* to egov@localhost;
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
);
값 들어간 것 확인
mariadb 넣어주고 pom.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>
SPring MVC를 maven으로
테이블 충돌할 수 있어서 기존에 만들었던 ids, sample 삭제
위의 hsqldb, mysql은 주석처리 해주었음.
# 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 // 주석처리해줬음
<!-- hsql
<jdbc:embedded-database id="dataSource-hsql" type="HSQL">
<jdbc:script location= "classpath:/db/shtdb.sql"/>
</jdbc:embedded-database>
-->
diagram -> forward engineering -> database
forward engineering : 실제 데이터베이스 안으로 테이블 만들어주는 과정
diagram -> reverse engineering -> difram(physical)
reverse : 데이터베이스 안에 있는것들은 반대로 그려주는 것
new -> ER 다이어그램 -> 프로젝트 선택 후 -> SQL Dialect : MySQL 설정
눌러서 마리아디비 누르면 자동으로 Driver 생성
오른쪽 클릭 -> import -> Import From Database -> Load tables 누르고 전체 드래그 -> finish
오른쪽클릭 -> Export -> DDL
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:dev:imp:editor:erd_editor
톰캣이 필요 없다
전체적인 버전
포트번호를 변경 할 수 있다. 8080 -> 9090으로 바꿈
9090 포트번호 확인
<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>
<?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>
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가 만듦
화면에 영어로 무슨 안내문뜨면 동그라미친 부분 오른쪽 클릭 -> setting -> CD / DVD선택, Use physical drive 선택 -> ok 후 우분투 화면에서 엔터키하면 재부팅
Remove 하면 지워짐 / 밑에 Delete하면 그냥 아예 지워지니까 안누르게 조심 !
폴더 복사 -> 컴퓨터를 하나 더 만든거와 같은 것.
복사를 하며 사용하면서 백업용으로도 사용.
복사하여 사용후 이상이 생기면 삭제하고 다시 원래꺼를 복사해서 사용하고 하는 백업의 이점이 있음.
불러오기를 하려면 Open a Virtual Machine 클릭 -> 탐색기에서 사용할 우분투 폴더 안의 파일 불러오면 된다. / 이름은 맞게 바꿔줬음
실행 후 -> 앱 표시 -> 소프트웨어 업데이터에서 업데이트 하기.
X-Window : gui
리눅스에서 사용하는 윈도우 시스템
기본 명령 환경 : cui(O)
1. SE(System Engineer)
IDC : Internet Data Center
=> 설치 / 보안 / 백업 / 복원 모니터링, 관리 프로그램 제작(시스템 개발자)
2. 백엔드 개발자
=> 웹서버 중심의 개발자
cui를 활용할 수 있는 명령어 습득 ...
3. IoT 개발자
=>