정보보안공부

JSP_day14 본문

JSP

JSP_day14

Steady_sp 2017. 9. 27. 00:38

<MariaDB>

 

## 설치

 

--> Next를 누르면 root계정의 비밀번호와 포트번호설정이있다. 원하는 비밀번호와 포트번호를 입력한다.

 

 

--> 설정한 비밀번호와 포트번호로 로그인을 한뒤 왼쪽 위에 아이콘을 클릭해서 사용자계정을 하나더 만든다.

--> 왼쪽 위쪽에 추가를 눌러 오른쪽 항목들을 작성한다.

--> 사용자계정이름 : jspuser

--> 호스트에서 : localhost 또는 외부에서 접근하도록 설정할 수 있다.

--> 암호 : 원하는 암호입력

--> 접근허용 : 만들어놓은 jspdb데이터베이스를 선택한뒤 쿼리들의 사용권한을 체크한다. 모든항목을 체크하였다.

--> 작성을 확인한뒤 저장

 

 

--> 위에서설정한 jspuser계정으로 로그인하기위하여 왼쪽 위의 빨간네모 안에있는 아이콘을 클릭한다.

 

 

--> 세션이름이 jspuser인것을 클릭하여 암호를 입력하고 포트번호를 입력한뒤 확인을 누른다.

 

# 간단히 MariaDB 사용법 익히기

 

 

--> 데이터베이스를 만들 때 : create database 데이터베이스명;

--> 데이터베이스의 목록을 확인할 때 : show databases;

--> 데이터베이스를 사용할 때 : use 데이터베이스명;

--> 테이블 목록을 확인할 때 : show tables;

--> 테이블을 만들 때 : create table 테이블명 ( 필드명 자료형, 필드명 자료형, ... )

--> 쿼리를 적용시킬 때 : 원하는 문장 드레그후 Ctrl + F9

 

 

--> 만들어진 테이블 구조를 확인할 때 : desc 테이블명;

--> 테이블에 데이터를 넣을 때 : insert into 테이블명 (필드명...) values (데이터...)

--> 테이블의 데이터를 조회할때 : select 필드명... '보여지는 필드명', ...from 테이블명 where 조건 order by 정렬할 필드명;

 

 

--> desc 테이블명을 입력했을때 화면

 

 

--> 만들어진 테이블을 보기위해 selecct * from test 를 입력했을때 화면

 

--> 테이블의 데이터를 수정할 때 : update 테이블명 set 필드명 = 값, ... where 조건

--> 조건을 사용하지 않으면 해당 필드명의 모든데이터한테 적용된다.

--> 테이블의 데이터를 삭제할 때 : delete from 테이블명 where 조건

--> 조건을 사용하지 않으면 해당 테이블이 통째로 삭제된다.

 

 

--> create table로 테이블을 만든뒤 insert into를 이용해 해당테이블에 데이터를 넣었다.

--> INT형은 숫자를 나타내고 Varchar형은 지정한크기 30중 입력한 크기만큼 적용되는 자료형이고 DATE형은 날짜를 나타내는 자료형이다.

 

 

--> 테이블을 만들때 필드명 자료형 뒤에 입력된 primary key auto_increment not null에 대해서 알아보자

--> primary key : 중복을 허용하지 않는다.

--> auto_increment : 1부터 자동으로 숫자가 지정된다.

--> not null : 반드시 입력해야한다.

--> timestamp자료형 : 시분초까지 나타내어지고 default는 초기값 now()는 현재시간을 나타낸다. 쿼리를 날린 시간이 저장되어진다.

 

 

--> 해당 쿼리를 작성한뒤 select * from memo;를 하면 아래와같은 데이터가 저장된것을 확인할 수있다.

 

< JDBC>

 

- Java Database Connectivity

- 자바에서 DB 프로그래밍을 하기 위해 사용되는 API

 

## MariaDB의 java client파일 설치

 

 

## eclipse에서 jsp파일을 이용해 MariaDB에 연결하기

 

 

--> String driverName = "org.mariadb.jdbc.Driver" ;

--> url = "jdbc:mariadb://localhost3306/jspdb" MariaDB에서 설정한 포트번호(3306)와 사용자 계정(jspdb)을 입력해준다.

--> String user 과 password에는 사용자계정이름과 암호를 입력하면된다.

--> 드라이버를 로드하기위해 Class.forName(driverName);

--> Connection conn = null; Connection은 MariaDB와의 연결을 위한 코드이다.

--> 예외처리를 함으로써 에러가 발생한 위치를 빠르게 알기위해 try catch finally로 진행한다.

--> 연결하기위해 conn = DriverManager.getConnection(url, user, password);

--> 연결이되면 쿼리를 입력하고 입력한 쿼리를 받아서 출력할수 있는데 일단은 연결이 잘 됬는지 out.println을 이용해 conn의 값을 출력해보자

 

 

--> 연결 성공시 위와같이 출력된다.

 

 

--> url="jdbc:mariadb://localhost2:3306/jspdb 로 틀리게 입력하면 try catch에 의해 틀린부분을 바로 확인할 수 있다.

 

## java클래스를 작성하여 위와같이 진행하기

 

--> 해당 jsp파일에서 java클래스를 import시켜 진행한다.

--> 해당 java클래스에서 conn값을 return 해주기 때문에 conn = JdbcUtil.getConnection();으로 conn값을 받아온다.

 

## 연결된 MariaDB에서 데이터를 받아온다. 

 

 

--> Connection, Statement, ResultSet 을 설정한다.

 

 

--> 쿼리를 sql변수에 지정 String sql = "select * from memo order by idx desc";

--> conn.createStatement(); 연결한 conn에 명령객체생성

--> stmt.executeQuery(sql); 쿼리를 명령객체를 이용해 결과객체를 받는다.

--> rs.next()는 데이터베이스를 맨줄의 위 빈공간부터 한줄한줄 넘긴다. 한줄한줄 넘기다 데이터가없다면 do..while문을 빠져나온다 

--> rs.getInt("idx") rs.getString("name") rs.getString("content") 를 이용해 해당 필드의 데이터를 가져온다 필드명의 자료형에따라 Int String으로 나뉜다.

--> 해당 필드명 대신에 왼쪽부터 1번 -- 으로도 지정할 수 있다. 

 

 

--> 위에서 작성한 MariaDB jspdp 데이터베이스에 저장된 memo테이블의 데이터를 가져왔다.

 

## rs를 2개 사용하기 rs, stmt, conn 사용후 닫기

 

 

--> 자바클래스에서 Connection Statement ResultSet 마다 close메소드를 지정한다.

 

 

--> 해당 변수들 작성

 

 

--> conn = JdbcUtil.getConnection() 연결한다.

--> stmt = conn.createStatement() 명령객체를 생성한다.

--> 위의 getConnection , conn.createStatement()는 반드시 써야하는 코드이다.

--> rs = stmt.executeQuery(sql);    sql에 작성된 쿼리의 결과를 받아온다.

--> count(*)같은 필드명의 경우 getInt(1)로 받아오면 수월하게 받아올 수 있다.

count(*)는 memo에 있는 데이터의 총개수를 알려준다.

 

 

--> close로 닫을때 생성한 순서의 역순으로 닫아준다.

 

--> count(*)의 의해 전체개수 출력된 것이 확인되었다.

 

'JSP' 카테고리의 다른 글

JSP_day15  (0) 2017.09.28
JSP_day13  (0) 2017.09.26
JSP_day12  (0) 2017.09.23
JSP_day09_Gson을 이용해 온라인 설문조사 만들기  (0) 2017.09.19
JSP_8. Gson  (0) 2017.09.19
Comments