Rubberduck-Debugging

[5일차] cmd로 MariaDB 시작, WAS와 JDBC 개념 본문

개발자/20181127 교육과정

[5일차] cmd로 MariaDB 시작, WAS와 JDBC 개념

P缶 2018. 12. 4. 09:11

MariaDB 에 연결하기

$ mysql -u 사용자아이디 -p

$ mysql -u root -p
Enter password: 암호입력
...

MariaDB [(none)]>

사용자 생성하기

CREATE USER '사용자아이디'@'서버주소' IDENTIFIED BY '암호';

MariaDB [(none)]> CREATE USER 'eomcs'@'localhost' IDENTIFIED BY '1111';

데이터베이스 생성하기

CREATE DATABASE 데이터베이스명 CHARACTER SET utf8 COLLATE utf8_general_ci;

MariaDB [(none)]> CREATE DATABASE eomcs
  CHARACTER SET utf8
  COLLATE utf8_general_ci;

사용자에게 DB 사용 권한을 부여하기

GRANT ALL ON 데이터베이스명.* TO '사용자아이디'@'서버주소';

GRANT ALL ON eomcs.* TO 'eomcs'@'localhost';

MariaDB에 eomcs 사용자 아이디로 다시 접속하기

$ mysql -u eomcs -p
Enter password: 1111
...

MariaDB [(none)]>

eomcs 아이디로 사용할 수 있는 데이터베이스 목록 보기

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| eomcs              |
| information_schema |
| test               |
+--------------------+
3 rows in set (0.000 sec)

MariaDB [(none)]> 

과제: 애플리케이션에서 사용할 테이블과 예제 데이터를 준비하라.

eomcs 아이디로 MariaDB에 접속한 후 기본으로 사용할 데이터베이스를 eomcs로 설정하기

MariaDB [(none)]> use eomcs;
...

Database changed
MariaDB [eomcs]> 

애플리케이션에서 사용할 테이블 생성하기.

다음 파일의 내용을 복사하여 MariaDB 명령창에 붙여 넣고 실행한다.
eomcs-java-project    (Git 저장소)
    /eomcs-dbmodel    
        /model
            /ddl.sql  (테이블 정의 SQL 문이 들어 있는 파일)

생성된 테이블에 예제 데이터 입력하기.

다음 파일의 내용을 복사하여 MariaDB 명령창에 붙여 넣고 실행한다.
eomcs-java-project    (Git 저장소)
    /eomcs-dbmodel    
        /model
            /data.sql  (INSERT SQL 문이 들어 있는 파일)
출처 링크 : https://github.com/eomcs/eomcs-java-project/tree/master/eomcs-java-project-4.5.0-client

===============================================


* 오늘날의 웹기반 구성

web browser -> web server를 통해서 ->  web appication server(was) 실행 -> dbms에서 데이터 가져오기 -> 

web appication server(was)에서 다시 -> web server 로 가서 ->web browser 출력


* WAS 

 종류 : tomcat, jboss, JEUS 등.

 장점 : client 아닌 server만 수정하면 되서 쉽다. dbms와 client가 이어지지 않아 해킹 불가.


자바 -> 코틀린. 자바스크립트 -> MS타입스크립트

자바는 정적타입. 자바스크립트는 동적타입. 자바 -> 코틀린. 자바스크립트 -> MS타입스크립트가 앞으로 뜰 예정.

자바의 단점을 '일부분' 대체하는 게 NodeJS. 



===============================================


* JDBC(Java Database Connectivity)란?

데이터베이스에 접근하여 SQL문을 실행하기 위한 자바 라이브러리를 말한다.



*자바에서 JDBC 코딩하는 대략적인 순서


1.JDBC 드라이버를 로딩시킨다.

2.DriverManager.getConnection을 통해 데이터베이스 Connection을 구한다.

3.Query 실행을 하기 위하여 Statement 객체 생성한다.

4.Query를 실행한다.

5.Query 실행 결과 사용

6.Statement 종료

7.데이터베이스 커넥션 종료.


* jdbc 드라이버 구성의 예시

jdbc:driver:oracle:....

connect conn ;

preparedStatement pstmt;

con = DriverManager.getConnection("jdbc:mariadb://localhost:3306/studydb", "study", "1111");

try{

...

} catch (Exception e){

....

} finally {

 close();

}



MYBATIS란 ?

jdbc 코드를 캡슐화한 것. xml에 있는 함수만 호출해 주면 끝난다. 


MYBATIS를 쓰면 JDBC 구성을 안해도 된다. 

jdbc를 mybatis로 바꾼 후, servlet에 적용하면, 내 프로그램을 웹에 올릴 수 있게 되는 것이다.


* DAO란?

데이터를 처리하는 코드를 따로 분리한 것. handler에 다 있으면 유지보수 넘 힘드러