🌏 DataBase/MySQL
[DB] 9. Statement(인터페이스)
ryang x2
2020. 10. 11. 23:37
728x90
반응형
# Statement(인터페이스)
Statement 객체는 Statement 인터페이스를 구현한 객체를 Connection 클래스의
createStatement() 메소드를 호출함으로 리턴받을 수 있습니다. Statement 객체가 생성되면
executeQuery() 또는 executeUpdate() 메소드를 호출하여 SQL문장을 실행할 수 있습니다.
● Statement 단점
- SQL쿼리에 매개변수를 부여할 수 없습니다.
- 매번 컴파일을 합니다.
- "insert into test values ("' + name + '", " + age + " , '" + gender +"')";
예시 1)
public class Main2 {
public static void main(String[] args) {
String url = "jdbc:mariadb://127.0.0.1:3306/webdev";
String user = "root";
String pw = "1234";
String sql = "INSERT INTO tb_order VALUES('0000000011', 500, '껌', now(), 5);";
System.out.println(sql);
try{
Class.forName("org.mariadb.jdbc.Driver");
Connection conn = DriverManager.getConnection(url, user, pw);
Statement stmt = conn.createStatement();
int result = stmt.executeUpdate(sql); // update, insert, delete 실행
if (result >= 1) System.out.println("DB Insert 성공!!!! ");
else System.out.println("DB Insert 실패...");
}catch (ClassNotFoundException e){
System.out.println("드라이버 이름 또는 라이브러리를 확인하세요.");
}catch (SQLException e){
System.out.println("DB연결 실패, IP 또는 계정을 확인하세요.");
}catch (Exception e){
e.printStackTrace();
}
}
}


예시 2)
public class Main4 {
public static void main(String[] args) {
String url = "jdbc:mariadb://127.0.0.1:3306/webdev";
String user = "root";
String pw = "1234";
Scanner sc = new Scanner(System.in);
System.out.println("모든 회원에게 포인트를 얼마나 나눠줄까요?");
int input = sc.nextInt();
try{
Class.forName("org.mariadb.jdbc.Driver");
Connection conn = DriverManager.getConnection(url, user, pw);
Statement stmt = conn.createStatement();
String sql = "update tb_member set mem_point = mem_point + ";
sql += input;
System.out.println(sql);
int result = stmt.executeUpdate(sql);
if (result >= 1){
System.out.println("적용되었습니다.");
}else{
System.out.println("실패했습니다.");
}
}catch (ClassNotFoundException e){
e.printStackTrace();
}catch (SQLException e){
e.printStackTrace();
}
}
}



예시 3)
public class Main5 {
public static void main(String[] args) {
String url = "jdbc:mariadb://127.0.0.1:3306/webdev";
String user = "root";
String pw = "1234";
Scanner sc = new Scanner(System.in);
System.out.println("어떤 회원을 탈퇴시킬까요?");
int input = sc.nextInt();
try{
Class.forName("org.mariadb.jdbc.Driver");
Connection conn = DriverManager.getConnection(url, user, pw);
Statement stmt = conn.createStatement();
String sql = "delete from tb_order where ord_memidx = " + input;
System.out.println(sql);
int result = stmt.executeUpdate(sql);
sql = "delete from tb_member where mem_idx = " + input;
System.out.println(sql);
result = stmt.executeUpdate(sql);
if (result >= 1){
System.out.println("탈퇴되었습니다.");
}else{
System.out.println("탈퇴실패했습니다.");
}
}catch (ClassNotFoundException e){
e.printStackTrace();
}catch (SQLException e){
e.printStackTrace();
}
}
}



728x90
반응형