수업시간 JAVA/문제
INSERT / SELECT / UPDATE / DELETE 프로그램 만들기
by SEOKIHOUSE
2023. 4. 13.
package practice0413;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Scanner;
import lombok.AllArgsConstructor;
import lombok.Data;
@Data
@AllArgsConstructor
class Member {
int mno;
String name;
String phone;
String id;
String password;
}
public class PreparedSelectInsert {
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
final String driver = "org.mariadb.jdbc.Driver";
final String url = "jdbc:mariadb://localhost:3306/green01";
final String uid = "root";
final String upw = "1234";
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, uid, upw);
while (true) {
System.out.print("1.SELECT 2. INSERT 3. UPDATE 4. DELETE 5.EXIT");
int choose = sc.nextInt();
if (choose == 1) {
String query = "SELECT * FROM member";
PreparedStatement stmt = conn.prepareStatement(query);
ResultSet rs = stmt.executeQuery();
ArrayList<Member> ar = new ArrayList<>();
while (rs.next()) {
int mno = rs.getInt("mno");
String name = rs.getString("name");
String phone = rs.getString("phone");
String id = rs.getString("id");
String password = rs.getString("password");
Member m = new Member(mno, name, phone, id, password);
ar.add(m);
}
for (Member m1 : ar) {
System.out.println(m1);
}
} else if (choose == 2) {
while (true) {
String query = "INSERT INTO member (name,phone,id,password) VALUES (?,?,?,?)";
PreparedStatement stmt = conn.prepareStatement(query);
System.out.print("추가할 이름을 적으셈");
String name = sc.next();
System.out.print("추가할 번호를 적으셈");
String phone = sc.next();
System.out.print("추가할 아이디 적으셈");
String id = sc.next();
System.out.print("추가할 비번 적으셈");
String password = sc.next();
stmt.setString(1, name);
stmt.setString(2, phone);
stmt.setString(3, id);
stmt.setString(4, password);
stmt.executeUpdate();
System.out.print("1.계속추가 0.종료");
int go = sc.nextInt();
if (go == 0) {
break;
} else if(go<0 && go>1){
System.out.println("1 or 0을 선택하세요");
}
}
}else if (choose ==3) {
String query = "UPDATE member SET ";
System.out.print("등록번호를 고르세요");
int num = sc.nextInt();
System.out.println("수정할 부분을 고르세요");
System.out.print("1.이름 2.폰번 3.아이디 4.비번 5.전체수정");
int num2 = sc.nextInt();
if(num2 ==1) {
query+= "name=? where mno=?";
PreparedStatement stmt = conn.prepareStatement(query);
System.out.print("무슨 이름으로 바꾸시겠삼?");
String rename = sc.next();
stmt.setString(1, rename);
stmt.setInt(2, num);
int result = stmt.executeUpdate();
System.out.println("실행된 횟수 " +result);
}else if (num2 ==2) {
query+= "phone=? where mno=?";
PreparedStatement stmt = conn.prepareStatement(query);
System.out.print("무슨 폰번으로 바꾸시겠삼?");
String rephone = sc.next();
stmt.setString(1, rephone);
stmt.setInt(2, num);
int result = stmt.executeUpdate();
System.out.println("실행된 횟수 " +result);
}else if (num2 ==3) {
query+= "id=? where mno=?";
PreparedStatement stmt = conn.prepareStatement(query);
System.out.print("무슨 id로 바꾸시겠삼?");
String reid = sc.next();
stmt.setString(1, reid);
stmt.setInt(2, num);
int result = stmt.executeUpdate();
System.out.println("실행된 횟수 " +result);
}else if (num2 ==4) {
query+= "password=? where mno=?";
PreparedStatement stmt = conn.prepareStatement(query);
System.out.print("무슨 pw로 바꾸시겠삼?");
String repw = sc.next();
stmt.setString(1, repw);
stmt.setInt(2, num);
int result = stmt.executeUpdate();
System.out.println("실행된 횟수 " +result);
}else if (num2 ==5) {
query+= "name=?, phone=?, id=?, password=? where mno=?";
PreparedStatement stmt = conn.prepareStatement(query);
System.out.print("무슨 이름으로 바꾸시겠삼?");
String rename = sc.next();
stmt.setString(1, rename);
System.out.print("무슨 번호로 바꾸시겠삼?");
String rephone = sc.next();
stmt.setString(2, rephone);
System.out.print("무슨 아이디로 바꾸시겠삼?");
String reid = sc.next();
stmt.setString(3, reid);
System.out.print("무슨 비번으로 바꾸시겠삼?");
String repw = sc.next();
stmt.setString(4, repw);
stmt.setInt(5, num);
int result = stmt.executeUpdate();
System.out.println("실행된 횟수 " +result);
}
else {
System.out.println("1~4만 고르세요");
}
}else if (choose ==4) {
String query = "DELETE FROM member where mno=?";
PreparedStatement stmt = conn.prepareStatement(query);
System.out.print("삭제할 등록번호를 고르세요");
int denum = sc.nextInt();
stmt.setInt(1, denum);
int result = stmt.executeUpdate();
System.out.println("실행된 횟수 " +result);
}else if (choose ==5) {
System.out.println("시스템종료");
break;
}else {
System.out.println("1~5만 선택하세요 ^^");
}
}
}
}