본문 바로가기
sql

열거형에 sql 연동해보기

by improve 2024. 2. 6.
package org.example;

public class Main2 {
    public static void main(String[] args) {
        //static 일때는
        // ENUM_STUDY_DB.insert();

        ENUM_STUDY_DB enumStudyDb = new ENUM_STUDY_DB();
        enumStudyDb.insert();
        enumStudyDb.select();

    }

}

 

enumstudydb 클래스를 만들어 준다.

 

package org.example;

import org.example.enums.Role;

import java.sql.*;

public class ENUM_STUDY_DB {
    public void insert(){
        Connection con =null;
        PreparedStatement pstmt =null;
        try {
        con = DriverManager.getConnection("jdbc:mysql://192.168.0.38/shop1109","pmh","1234");
        pstmt = con.prepareStatement("INSERT INTO enum_study" +
                                     "(ROLE)" +
                                     "VALUES" +
                                     "(?);");

        pstmt.setString(1, Role.ADMIN.toString());
        pstmt.executeUpdate();

        }catch (Exception e){
            e.printStackTrace();
        }finally {
            try {
                con.close();
                pstmt.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }

        }
    }

    public void select(){
        Connection con =null;
        PreparedStatement pstmt =null;
        ResultSet rs = null;
        try {
            con = DriverManager.getConnection("jdbc:mysql://192.168.0.38/shop1109","pmh","1234");
            pstmt = con.prepareStatement("select *from enum_study");
            rs = pstmt.executeQuery();
            while(rs.next()){
                System.out.println(rs.getLong("id"));
                System.out.println(rs.getString("ROLE"));
            }

        }catch (Exception e){
            e.printStackTrace();
        }finally {
            try {
                con.close();
                pstmt.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }

        }

    }
}

 

role 에대한 클래스도 만들어준다.

 

package org.example.enums;

public enum Role {
    ADMIN, UESR;

}

 

public void update(int id){
    Connection con =null;
    PreparedStatement pstmt =null;
    ResultSet rs = null;
    try {
        con = DriverManager.getConnection("jdbc:mysql://192.168.0.38/shop1109","pmh","1234");
        pstmt = con.prepareStatement("UPDATE enum_study " +
                                            "SET ROLE ='user' " +
                                            "WHERE id= ?");
        pstmt.setLong(1,id);
        pstmt.executeUpdate();

    }catch (Exception e){
        e.printStackTrace();
    }finally {
        try {
            con.close();
            pstmt.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }

    }

}

 

update 구문을 만들어 줘서 수정할 데이터를 수정할 수 있게 구문을 넣어준다.

 

    ENUM_STUDY_DB enumStudyDb = new ENUM_STUDY_DB();
    enumStudyDb.insert();
    enumStudyDb.select();
    enumStudyDb.update(3);
    enumStudyDb.select();

}

 

update 를 실행할수 있게 해준다.

 

 

public void delete(int id){
    Connection con =null;
    PreparedStatement pstmt =null;
    try {
        con = DriverManager.getConnection("jdbc:mysql://192.168.0.38/shop1109","pmh","1234");
        pstmt = con.prepareStatement(" DELETE FROM enum_study WHERE id = ? ");
        pstmt.setLong(1,id);
       // pstmt.setString(1,Role.USER.toString());
        pstmt.executeUpdate();

    }catch (Exception e){
        e.printStackTrace();
    }finally {
        try {
            con.close();
            pstmt.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }

    }
}

 

delete 구문도 추가해준다.

데이터를 수정할수 있게 해준다.

 

만약 내가 수정하고싶은 id를 고를려면 scanner를 추가해주면된다.

 

public static void main(String[] args) {
    //static 일때는
    // ENUM_STUDY_DB.insert();
    
        ENUM_STUDY_DB enumStudyDb = new ENUM_STUDY_DB();
        enumStudyDb.insert();
        enumStudyDb.select();

        Scanner sc = new Scanner(System.in);
        System.out.println("수정하고 싶은 id");
        int temp = sc.nextInt();
        System.out.println("=========================");
        enumStudyDb.update(temp);
        enumStudyDb.select();
        System.out.println("============================");
        System.out.println("없애고 싶은 id");
        temp = sc.nextInt();
        enumStudyDb.delete(temp);
        System.out.println("===============================");
        enumStudyDb.insert();
    


}

 

 

 

'sql' 카테고리의 다른 글

맥북에서 mysql 실행  (0) 2024.02.23
oracle sql  (0) 2024.02.13
쇼핑몰에 대한 sql  (0) 2024.02.02
docker 명령어  (0) 2024.01.30
database 연결해보기  (0) 2024.01.22