build.gradle 파일의 depandency부분에 아래 코드 추가
// https://mvnrepository.com/artifact/com.mysql/mysql-connector-j
implementation group: 'com.mysql', name: 'mysql-connector-j', version: '8.0.33'
mysql server 준비
mysql 테이블 생성 값도 대충 추가
CREATE TABLE Student
( student_id int NOT NULL AUTO_INCREMENT,
student_name VARCHAR(100) NOT NULL,
PRIMARY KEY (student_id) );
java 부분
import java.sql.*;
public class JDBCTest {
public static void main(String[] args) {
Connection conn = null; //연결하는 객체
Statement statement = null; //sql 을 실행하는 객체
ResultSet resultSet = null; //sql 결과를 저장하는 객체
String id ="kty";
String passward ="qwer1234";
try{
// Connection을 얻기 위해 필요한 url 역시, 벤더사마다 다르다.
// mysql은 "jdbc:mysql://localhost/사용할db이름" 이다.
String url = "jdbc:mysql://192.168.72.30/test";
// @param getConnection(url, userName, password);
// @return Connection
conn = DriverManager.getConnection(url, id, passward);
System.out.println("연결 성공");
statement = conn.createStatement();
String sql = "select * from Student;";
resultSet = statement.executeQuery(sql);
while(resultSet.next()){
System.out.print(resultSet.getString(1));
System.out.print(" ");
System.out.print(resultSet.getString(2));
System.out.print("\n");
}
}
catch(SQLException e){
System.out.println("에러: " + e);
}
finally {
try {
if (conn != null && !conn.isClosed()) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
Select문과 insert,update,delete문이 쓰는 메소드가 다르다.
Select은 statement.executeQuery(sql);
insert,update,delete 은 .executeUpdate(sql);
String sql = "select * from Student;";
resultSet = statement.executeQuery(sql);
String sql = "INSERT INTO Student (student_name) VALUES ('을지문덕');";
statement.executeUpdate(sql); //영향을 받은 행 갯수를 반환