JDBC(Java DataBase Connectivity)
- Java에서 DBMS에 접근하여 DB를 활용하기 위한 기능.
- DBMS 회사에서 제공한다.
JDBC 프로그래밍의 순서?
1. 드라이버 로드
try {
Class.forName(“com.mysql.jdbc.Driver”); // 드라이버 이름 대소문자 주의
} catch(ClassNotFoundException e) {
e.printStackTrace();
}
2. Connection 생성
try {
Connection conn = DriverManager.getConnection(DB접근URL,아이디,패스워드);
// 예) (“jdbc:mysql://localhost:3306/bs”,”root”,””);
} catch(SQLException se) {
se.printStackTrace();
}
MySQL Connector 설치 방법
mysql-connector-java-5.1.33.zip을 풀어서 jar 파일을 복사해서
C:\Program Files\Java\jre1.8.0_25\lib\ext 에 붙여넣기
C:\Program Files\Java\jdk1.8.0_25\jre\lib\ext 에도 붙여 넣는다. 이제 새 프로젝트를 만들자.
새 프로젝트를 만들 때 Libraries에 mysql-connector가 보이는지 확인.
잘 된다.
Query OK
1 row — 영향을 받은 행 수
affected (0.00 sec)
표 형태로 select 문의 결과가 나타남
쿼리의 실행 함수
ResultSet executeQuery(String sql)
- SELECT 쿼리 사용시 활용
int executeUpdate(String sql)
- 일반 쿼리 사용시 활용
desc 테이블명; — 테이블의 데이터 구성 보여줌
레코드 데이터를 속성별로 하나씩 출력
getString()에서 속성명을 적어도 되지만, 순서를 통해 쿼리하는 것도 가능.
select문에서 특정조건을 가진 형태로 select문을 출력하려고 합니다. number와 name부분만 select하려면 select number,name from person; 이렇게 해야하는데 이클립스에서 sql부분에 select number,name from person; 이렇게 삽입을 하면 number,name을 제외한 다른 attribute들이 resultset에 없다고 나옵니다. 그래서 코드에서 number와 name을 제외한 attribute 부분코드를 지우고 실행하니 이떄는 실행이 되던데 저가 select문을 이용해서 특정 column만 출력하려고 하면 그 때마다 코드를 수정해야하나요??