26. mysql 사용법 정리
데이터베이스는 데이터의 효율적.지속적인 관리를 목적으로 하는 데이터의 집합이다.
데이터베이스를 관리하는 프로그램을 DBMS(Database Management System)라고 한다.
SQL(Structured Query Language) 쿼리문의 용도는 다음과 같다.
데이터베이스 생성 : Create database DB;
데이터베이스 삭제 : Drop database DB;
테이블 생성 : Create Table table;
테이블 삭제 : Drop Table table;
테이블 구조 변경 : Alter table [table];
데이터 입력 : Insert into table (col,...) values (values,...);
데이터 전체 조회 : Select * From Table;
조건에 맞는 데이터 조회 : Select * from table where 조건
데이터 변경 : Update Table set col = values ...
데이터 삭제 : Delete From Table where ....
JDBC를 사용한 프로그램의 작성 순서
1. jdbc 드라이버 로드 : 인터페이스 드라이버를 구현 하는 작업
Class.forName("com.mysql.jdbc.Driver");
2. Connection 객체 생성 : Connection 객체를 연결하는 것으로 Driver Manager에 등록된 드라이버들을 getConnection(String url) 메소드를 사용해서 식별한다.
Connection conn = DriverManage.getConnection("jdbc:mysql://localhost:3306/jsptest","jspid","jsptest");
3. Statement/PreparedStatement/CallableStatement 객체 생성 : Sql 쿼리를 생성하고 실행하며, 반환된 결과를 가져오게 할 작업 영역을 제공한다.
Statement stmt = con.createStatement();
4. Query 수행 : Statement 객체가 생성되면 Statement 객체의 executeQuery() 메소드나 executeUpdate() 메소드를 사용해서 쿼리를 처리한다.
ResultSet rs = stmt.executeQuery("select * from 소속기관");
String sql="update member1 set passwd='3579' where id='abc";
stmt.executeUpdate(sql);
5. ResultSet 처리 : ResultSet에서 한 행씩 이동하면서 getXxx()를 이용해서 원하는 필드 값을 추출하며, 한 행이 처리되고 다음 행으로 이동 시 next() 메소드를 사용한다.
while(rs.next()){
out.println(rs.getString("id"));
out.println(rs.getString("passwd");
}
커넥션 풀은 한번 만들어져서 사용된 커넥션 객체를 다시 커넥션 풀로 회수해서 재사용할 수 있다.
자카르타 프로젝트의 DBCP API를 이용해서 커넥션 풀을 사용하려면 다음과 같은 단계를 거쳐야 한다.
자카르타 api 관련 jar 설치 -> dbcp에 관한 정보 설정 : server.xml -> jndi 리소스 사용 설정 : web.xml -> jsp 페이지에서 커넥션 풀 사용
설치시 1045 에러발생시, server 제거, program file, programdate 숨김 제거, 커넥터, 권한 설정,
DriverManager, Connection, Statement, PreparedStatement, CallableStatement 인터페이스, 해쉬 함수 암호화, 해쉬 함수 암호화