자바에서 DBMS에 접속해서 DML 중 데이터삽입(Insert) 하는 방법 임.
ㅁ. DBMS와 자바를 연결하는법은 아래주소 참고.
00. cmd 에서 ORACLE 사용문과 방법이 똑같다.
01. 잘 들어간것을 확인할 수 있다.
※ 코드
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
class MyDB{
public MyDB(){
String url = "jdbc:mysql://localhost/mydb?characterEncoding=utf8"; // 맨끝 부분이 디비이름 + utf8로 강제셋팅
String user = "myuser";
String pass = "mypass";
Connection conn;
try {
Class.forName("com.mysql.jdbc.Driver"); // jar옮겨놓은것을 확인하는
System.out.println("Driver Loading OK");
conn = DriverManager.getConnection(url, user, pass); //
System.out.println("DB Connect OK");
/* select query 수행 */
//
Statement stmt = conn.createStatement(); // ctrl+shft+o -> sql부분으로 OKAY
String sql;
// insert : 데이터에 영향을 미침 : executeUpdate()을 사용할 것임.
sql = "insert into first values('myiddd', '내이름ㅋㅋ', '97', '우리집')";
int affectedCount = stmt.executeUpdate(sql); // 성공했는지 실패했는지 알기위해 변수로 받음
// ; 영향을 받은 데이터가 몇개인지 결과값으로 나타난다.
System.out.println("affectedCount =" + affectedCount);
// select : 데이터에 영향을 주지 않기 떄문에 executeQuery메소드 사용
sql = "select * from first"; //
ResultSet rs = stmt.executeQuery(sql); // 쿼리문이 길어지기 떄문에 변수로 받았음.
int count = 0;
while( rs.next() ) // fetching for each line
{
String name = rs.getString("name"); // table에 있는 name 필드값을 가져옴.
String id = rs.getString("id");
int age = rs.getInt("age");
String address = rs.getString("address");
//System.out.println(name + "\t" + id + "\t" + age + "\t" + address);
// ; DB에서 불러온 값들 출력하기
String result="";
result = result.format("%d : %s\t%s\t%d\t%s", ++count, name, id, age, address); //printf() 와 같음
System.out.println(result);
}// while
} catch (Exception e) {
System.out.println("ERROR : " + e.getMessage());
} // DB접속 실패할 수도 있기 때문에 예외처리
}//MYDB Constructor
}// MyDB Class
public class Test {
public static void main(String[] args) {
new MyDB();
}//main
}// Main Class