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
반응형
'🌏 DataBase > MySQL' 카테고리의 다른 글
[DB] 11. JPA(Java Persistent API) (Feat.Oracle) & Entity (0) | 2020.11.05 |
---|---|
[DB] 10. ResultSet & PreparedStatement 클래스 (0) | 2020.10.12 |
[DB] 8. MySQL 과 JAVA 연결 (0) | 2020.10.11 |
[DB] 7. 테이블 병합(JOIN) (0) | 2020.10.11 |
[DB] 6. 기본 문법(INSERT/UPDATE/DELETE/SELECT) (0) | 2020.10.11 |