반응형
MySql 서버 설정 방법
invalid-file
Java에서 my_sql을 연동하기 위한 드라이버
invalid-file
MySql 서버 설정 방법
1. C:\mysql\bin\winmysqladmin 을 실행시켜 사용자 를 설정한다.
2. winmysqladmin를 실행시켜 my.ini Setup으로 가서 내용을 확인한다.
(포트와 사용자 정보)
MySql 명령어
mysql> 에서 실행
- show databases;
- 전체 database에 있는 database들을 보여준다
- user database_name;
- 해당 database를 사용한다는 명령어
- create table table_name(type, .. type);
- table을 table_name으로 생성
- type 부분은 variable_name variable_type을 넣는다
- variable_type : int, char(length)
- desc table_name;
- table의 구조를 본다
- insert into table_name values(value,value,value);
- value에는 int값은 그냥 넣고 문자열은 ' ' 를 붙여서 넣는다
- select column_name from table_name where 조건;
- column_name - table 생성시 설정한 variable type
- 모든 column을 보려면 *
- from - table이름
- where - 조건
- column_name - table 생성시 설정한 variable type
Java에서 연동하기
- 제공하는 JDBC 드라이버 파일(.jar)을 jdk가 설치되어 있는 곳에서 jre\lib\ext으로 옮겨준다
- 예) C:\Program Files\Java\jdk1.5.0_14\jre\lib\ext
- import java.sql.*;
- Connection 객체를 선언
DB 연결
- Class.forName("com.mysql.jdbc.Driver");
- JDBC 드라이버를 로드한다.
- com.mysql.jdbc.Driver 경로는 mySql에서 제공하는 드라이버 jar파일에 Driver.class 파일의 경로에 해당한다.
- 이 경로는 버전이 바뀔때나 DB가 바뀌면서 바뀔수도 있다.
- 사족 - Class.forName => forName은 static 함수
- conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/malldb", "root", "");
- connection 객체에 DB를 연결
- getConnection의 parameter
- jdbc - jdbc를 사용한다는 의미
- mysql - mysql을 사용한다는 의미
- localhost = 127.0.0.1
- 3306 - 포트 번호
- mysql - default 3306
- oracle - default 1521
- malldb - Database 이름
- "root" - database 사용자 이름
- " " - 사용자의 password, 여기에서는 password가 없다.
- ** 만약 모든 parameter가 맞다고 하면 password를 ""로 보내본다. 처음 로드 되면서 password가 기본으로 들어간 경우에는 password를 ""로 하면 연결 성공한다. **
DB에 Query 보내기
- Statement 변수 선언
- 예> Statement stmt = null;
- Statement 변수에 Connection 객체의 createStatement()의 method를 이용해서 Statement 객체를 할당한다.
- 예) stmt = conn.createStatement();
- connection 객체는 interface이어서 new 로 생성할 수 없고 new 대신 사용할수 있는 함수가 createStatement() 이다.
- Statement도 interface이다
- Query 문의 결과를 받기 위해 ResultSet의 변수를 선언
- ResultSet 변수에 Statement 객체의 executeQuery() method를 이용해 결과를 받는다
- 예) ResultSet rs = stmt.executeQuery("query_statement");
- stmt.executeQuery("query_statement") 는 query문을 실행시키는 것
- executeQuery()는 return 값이 있는 select 문에 쓴다
- executeUpdate()는 return 값이 없는 insert, delete, update 문에 쓴다
- ResultSet의 next() method를 이용해서 하나의 tuple(row)를 본다.
- 예) 하나의 tuple을 본 다음 next()를 하면 다음 tuple로 간다.
- ResultSet의 getString(param), getInt(param)을 이용하여 tuple의 값을 볼 수있다
- param은 tuple의 몇번째 column인지 정해주는 것이다.
- 주의 할 것은 column의 index는 0이 아닌 1부터 시작한다는 것이다param
- column의 index외에 column의 이름을 정해주는 것도 가능하다
- 예) table 생성시 첫번째 column의 이름을 name이라고 지정했으면 getString("name") 이런 식으로 값을 얻어올 수 있다.
- 보통 get+얻으려는 type+(index) 라고 생각하면 된다.
- param은 tuple의 몇번째 column인지 정해주는 것이다.
ResultSetMetaData
- resultset의 MetaData로 information about the types and properties of the columns in a
ResultSet
object 를 얻을 수 있다. - 예를 들면 Column의 이름 머 요론거다
* 사족 - Mild Error - syntax error 같이 개발자가 컴파일로 쉽게 찾을 수 있는것
Error - runtime error 같이 컴파일 타임에 error check가 되지 않지만 runtime에 error가 검출 되는 것
728x90
'Computer Science & Engineering > JAVA' 카테고리의 다른 글
2Day_homwork - pcs (0) | 2008.01.21 |
---|---|
자바 클래스 (0) | 2008.01.18 |
1Day Homework 구구단 (1) | 2008.01.18 |
JavaDoc 사용 (0) | 2008.01.17 |
Java 제어문 (0) | 2008.01.17 |
댓글