반응형
Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

mangocoder

[Java] CRUD(Create Read Update Delete)Test 본문

Java(자바)

[Java] CRUD(Create Read Update Delete)Test

codermin 2022. 11. 16. 12:39
반응형
SMALL
  • CRUD소스코드가 있는 클래스를 DAO라고 합니다
[ex1] "회원리스트"버튼을 누르면 cmd창에 회원목록을 출력하세요
import java.awt.*;
import java.awt.event.*;
class A{
    public static void main(String args[]){
        Button b=new Button("회원리스트");
        Frame f=new Frame();
        f.setLayout(new FlowLayout());
        f.add(b);
        f.setBounds(200,200,300,300);
        f.setVisible(true);
        // 이벤트등록
        b.addActionListener(new ActionHandler());   
    }
}
class ActionHandler implements ActionListener{
    public void actionPerformed(ActionEvent e){
        // cmd창에 회원목록 출력
    }
}
[an]    
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
import lombok.*;
class A{
    public static void main(String args[]){
        Button b=new Button("회원리스트");
        Frame f=new Frame();
        f.setLayout(new FlowLayout());
        f.add(b);
        f.setBounds(200,200,300,300);
        f.setVisible(true);
        // 이벤트등록
        b.addActionListener(new ActionHandler());   
    }
}
class ActionHandler implements ActionListener{
    public void actionPerformed(ActionEvent e){
        MemberDAO dao=MemberDAO.getInstance();
        java.util.List<Member> list=dao.selectMemberList();
        for(Member m : list){ 
            System.out.print(m.getId()+"\t");
            System.out.print(m.getPw()+"\t");
            System.out.print(m.getAddr()+"\t");
            System.out.println(m.getTel());
        }
    }
}
/* Member */
@Data
class Member{
    private String id;
    private String pw;
    private String addr;
    private String tel;
}
/* DBUtil */
class DBUtil{
    public static Connection getConnection(){
    Connection conn=null;
    try{
        Class.forName("oracle.jdbc.driver.OracleDriver");
        String url = "jdbc:oracle:thin:@localhost:1521:xe";
        String id = "scott"; String pass = "tiger";
        conn = DriverManager.getConnection(url,id,pass);        
    }catch(SQLException sqle){
        System.out.println("DBConnection:SQLException");
        throw new RuntimeException(sqle.getMessage());
    }catch(ClassNotFoundException cnfe){
        System.out.println("DBConnection:ClassNotFoundException");
        throw new RuntimeException(cnfe.getMessage());
    }

        return conn; 
    }
}
/* MemberDAO */
class MemberDAO {
    private static MemberDAO instance;
    private MemberDAO(){}
    public static MemberDAO getInstance(){
        if(instance==null)
            instance=new MemberDAO();
        return instance;
    }
    public ArrayList<Member> selectMemberList(){
        Connection con = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        try {
            StringBuffer listQuery = new StringBuffer();
            listQuery.append("select * from member");    
            con = DBUtil.getConnection();

            pstmt = con.prepareStatement(listQuery.toString());
            rs = pstmt.executeQuery();
            ArrayList<Member> v=new ArrayList<Member>();

            while(rs.next()){
                Member member=new Member();
                member.setId(rs.getString("id"));
                member.setPw(rs.getString("pw"));
                member.setAddr(rs.getString("addr"));
                member.setTel(rs.getString("tel"));
                v.add(member);
            }
            return v;
        } catch(SQLException sqle) {
            System.out.println("MemberDAO:selectMemberList:SQLException");
            throw new RuntimeException(sqle.getMessage());            
        } finally {
            try{
            if ( rs != null ){rs.close(); rs=null; }
            if ( pstmt != null ){ pstmt.close(); pstmt=null; }
            if ( con != null ){ con.close(); con=null;    }
            }catch(Exception e){
            throw new RuntimeException(e.getMessage());
            }
        }
    }
}

[ex2] 텍스트에 회원ID를 입력한 뒤 "회원정보보기"버튼을 
누르면 cmd창에 회원정보를 출력하세요

import java.awt.*;
import java.awt.event.*;
class A{
    public static void main(String args[]){
        Label la=new Label("ID : ");
        TextField tf=new TextField(10);
        Button b=new Button("회원정보보기");
        Frame f=new Frame();
        f.setLayout(new FlowLayout());
        f.add(la);f.add(tf);f.add(b);
        f.setBounds(200,200,300,300);
        f.setVisible(true);
        // 이벤트등록
        b.addActionListener(new ActionHandler());   
    }
}
class ActionHandler implements ActionListener{
    public void actionPerformed(ActionEvent e){
        // cmd창에 회원정보 출력
    }
}    
[an]
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import lombok.*;
class A{
    public static void main(String args[]){
        Label la=new Label("ID : ");
        TextField tf=new TextField(10);
        Button b=new Button("회원정보보기");
        Frame f=new Frame();
        f.setLayout(new FlowLayout());
        f.add(la);f.add(tf);f.add(b);
        f.setBounds(200,200,300,300);
        f.setVisible(true);
        // 이벤트등록
        b.addActionListener(new ActionHandler( tf ));   
    }
}
class ActionHandler implements ActionListener{
    TextField tf;
    ActionHandler(TextField tf){ this.tf=tf; }
    public void actionPerformed(ActionEvent e){
        MemberDAO dao=MemberDAO.getInstance();
        Member m=dao.selectMember( tf.getText() );
        System.out.println(m.getId()); 
        System.out.println(m.getPw());
        System.out.println(m.getAddr());
        System.out.println(m.getTel());
    }
}
/* Member */
@Data
class Member{
    private String id;
    private String pw;
    private String addr;
    private String tel;
}
/* DBUtil */
class DBUtil{
    public static Connection getConnection(){
    Connection conn=null;
    try{
        Class.forName("oracle.jdbc.driver.OracleDriver");
        String url = "jdbc:oracle:thin:@localhost:1521:xe";
        String id = "scott"; String pass = "tiger";
        conn = DriverManager.getConnection(url,id,pass);        
    }catch(SQLException sqle){
        System.out.println("DBConnection:SQLException");
        throw new RuntimeException(sqle.getMessage());
    }catch(ClassNotFoundException cnfe){
        System.out.println("DBConnection:ClassNotFoundException");
        throw new RuntimeException(cnfe.getMessage());
    }

        return conn; 
    }
}
/* MemberDAO */
class MemberDAO {
    private static MemberDAO instance;
    private MemberDAO(){}
    public static MemberDAO getInstance(){
        if(instance==null)
            instance=new MemberDAO();
        return instance;
    }
    public Member selectMember(String id){
        Connection con = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        try {
            StringBuffer listQuery = new StringBuffer();
            listQuery.append("select * from member where id=?");    
            con = DBUtil.getConnection();

            pstmt = con.prepareStatement(listQuery.toString());
            pstmt.setString(1,id);
            rs = pstmt.executeQuery();

            Member member=null;
            if(rs.next()){
                member=new Member();
                member.setId(rs.getString("id"));
                member.setPw(rs.getString("pw"));
                member.setAddr(rs.getString("addr"));
                member.setTel(rs.getString("tel"));
            }
            return member;
        } catch(SQLException sqle) {
            System.out.println("MemberDAO:selectMember:SQLException");
            throw new RuntimeException(sqle.getMessage());            
        } finally {
            try{
            if ( rs != null ){rs.close(); rs=null; }
            if ( pstmt != null ){ pstmt.close(); pstmt=null; }
            if ( con != null ){ con.close(); con=null;    }
            }catch(Exception e){
            throw new RuntimeException(e.getMessage());
            }
        }
    }
}    

[ex3] 텍스트에 회원정보를 입력한 뒤 "가입"버튼을 
누르면 DB에 회원한명을 추가하세요
import java.awt.*;
import java.awt.event.*;
class A{
    public static void main(String args[]){
        TextField tf1=new TextField(10);
        TextField tf2=new TextField(10);
        TextField tf3=new TextField(10);
        TextField tf4=new TextField(10);
        Button b=new Button("가입");
        Frame f=new Frame();
        f.setLayout(new GridLayout(5,1));
        f.add(tf1);f.add(tf2);f.add(tf3);f.add(tf4);f.add(b);
        f.setBounds(200,200,300,200);
        f.setVisible(true);
        // 이벤트등록
        b.addActionListener(new ActionHandler());   
    }
}
class ActionHandler implements ActionListener{
    public void actionPerformed(ActionEvent e){
        // 회원한명 가입
    }
}
[an]
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import lombok.*;
class A{
    public static void main(String args[]){
        TextField tf1=new TextField(10);
        TextField tf2=new TextField(10);
        TextField tf3=new TextField(10);
        TextField tf4=new TextField(10);
        Button b=new Button("가입");
        Frame f=new Frame();
        f.setLayout(new GridLayout(5,1));
        f.add(tf1);f.add(tf2);f.add(tf3);f.add(tf4);f.add(b);
        f.setBounds(200,200,300,200);
        f.setVisible(true);
        // 이벤트등록
        TextField[] array={tf1,tf2,tf3,tf4};
        b.addActionListener(new ActionHandler( array,f ));   
    }
}
class ActionHandler implements ActionListener{
    TextField[] array;  Frame frame;
    ActionHandler(TextField[] array, Frame frame){ this.array=array; this.frame=frame;}
    public void actionPerformed(ActionEvent e){
        frame.setVisible(false); frame.dispose();
        MemberDAO dao=MemberDAO.getInstance();
        Member member=new Member();
        member.setId(array[0].getText());
        member.setPw(array[1].getText());
        member.setAddr(array[2].getText());
        member.setTel(array[3].getText());
        dao.insertMember(  member  );    
    }
}
/* Member */
@Data
class Member{
    private String id;
    private String pw;
    private String addr;
    private String tel;
}
/* DBUtil */
class DBUtil{
    public static Connection getConnection(){
    Connection conn=null;
    try{
        Class.forName("oracle.jdbc.driver.OracleDriver");
        String url = "jdbc:oracle:thin:@localhost:1521:xe";
        String id = "scott"; String pass = "tiger";
        conn = DriverManager.getConnection(url,id,pass);        
    }catch(SQLException sqle){
        System.out.println("DBConnection:SQLException");
        throw new RuntimeException(sqle.getMessage());
    }catch(ClassNotFoundException cnfe){
        System.out.println("DBConnection:ClassNotFoundException");
        throw new RuntimeException(cnfe.getMessage());
    }

        return conn; 
    }
}
/* MemberDAO */
class MemberDAO {
    private static MemberDAO instance;
    private MemberDAO(){}
    public static MemberDAO getInstance(){
        if(instance==null)
            instance=new MemberDAO();
        return instance;
    }
    public void insertMember(Member bean){
        Connection con = null;
        PreparedStatement pstmt = null;

        try {
            StringBuffer listQuery = new StringBuffer();
            listQuery.append("insert into member values(?,?,?,?)");    
            con = DBUtil.getConnection();

            pstmt = con.prepareStatement(listQuery.toString());
            pstmt.setString(1,bean.getId());
            pstmt.setString(2,bean.getPw());
            pstmt.setString(3,bean.getAddr());
            pstmt.setString(4,bean.getTel());
            pstmt.executeUpdate();
        } catch(SQLException sqle) {
            System.out.println("MemberDAO:insertMember:SQLException");
            throw new RuntimeException(sqle.getMessage());            
        } finally {
            try{
            if ( pstmt != null ){ pstmt.close(); pstmt=null; }
            if ( con != null ){ con.close(); con=null;    }
            }catch(Exception e){
            throw new RuntimeException(e.getMessage());
            }
        }
    }
}

[ex4] 회원ID를 선택한뒤 "삭제"버튼을 
누르면 DB에 회원한명을 삭제하세요

import java.awt.*;
import java.awt.event.*;
class A{
    public static void main(String args[]){
        List lst = new List(3);
        // 아래 문장은 Member테이블에 존재하는 ID목록으로 item을 수정합니다.
         lst.add("Mercury");
         lst.add("Venus");
         lst.add("Earth");
         lst.add("JavaSoft");
         lst.add("Mars");

        Button b=new Button("삭제");
        Frame f=new Frame();
        f.setLayout(new FlowLayout());
        f.add(lst);f.add(b);
        f.setBounds(200,200,300,200);
        f.setVisible(true);
        // 이벤트등록
        b.addActionListener(new ActionHandler());   
    }
}
class ActionHandler implements ActionListener{
    public void actionPerformed(ActionEvent e){
        // 회원한명 삭제
    }
}    
[an]

import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import lombok.*;
class A{
    public static void main(String args[]){
        List lst = new List(3);
        // 아래 문장은 Member테이블에 존재하는 ID목록으로 item을 수정합니다.
         lst.add("aa");
         lst.add("1");
         lst.add("11");
         lst.add("7");

        Button b=new Button("삭제");
        Frame f=new Frame();
        f.setLayout(new FlowLayout());
        f.add(lst);f.add(b);
        f.setBounds(200,200,300,200);
        f.setVisible(true);
        // 이벤트등록
        b.addActionListener(new ActionHandler(lst));   
    }
}
class ActionHandler implements ActionListener{
    List lst;
    ActionHandler(List lst){ this.lst=lst; }
    public void actionPerformed(ActionEvent e){
        MemberDAO dao=MemberDAO.getInstance();
        dao.deleteMember( lst.getSelectedItem() );
    }
}    
/* Member */
@Data
class Member{
    private String id;
    private String pw;
    private String addr;
    private String tel;
}
/* DBUtil */
class DBUtil{
    public static Connection getConnection(){
    Connection conn=null;
    try{
        Class.forName("oracle.jdbc.driver.OracleDriver");
        String url = "jdbc:oracle:thin:@localhost:1521:xe";
        String id = "scott"; String pass = "tiger";
        conn = DriverManager.getConnection(url,id,pass);        
    }catch(SQLException sqle){
        System.out.println("DBConnection:SQLException");
        throw new RuntimeException(sqle.getMessage());
    }catch(ClassNotFoundException cnfe){
        System.out.println("DBConnection:ClassNotFoundException");
        throw new RuntimeException(cnfe.getMessage());
    }

        return conn; 
    }
}
/* MemberDAO */
class MemberDAO {
    private static MemberDAO instance;
    private MemberDAO(){}
    public static MemberDAO getInstance(){
        if(instance==null)
            instance=new MemberDAO();
        return instance;
    }
    public void deleteMember(String id){
        Connection con = null;
        PreparedStatement pstmt = null;

        try {
            StringBuffer listQuery = new StringBuffer();
            listQuery.append("delete from member where id=?");    
            con = DBUtil.getConnection();

            pstmt = con.prepareStatement(listQuery.toString());
            pstmt.setString(1,id);
            pstmt.executeUpdate();
        } catch(SQLException sqle) {
            System.out.println("MemberDAO:deleteMember:SQLException");
            throw new RuntimeException(sqle.getMessage());            
        } finally {
            try{
            if ( pstmt != null ){ pstmt.close(); pstmt=null; }
            if ( con != null ){ con.close(); con=null;    }
            }catch(Exception e){
            throw new RuntimeException(e.getMessage());
            }
        }
    }
}

[ex5] 위 소스코드에서 시작하자마자 DB연동해서 회원리스트를 List컴포넌트에 출력하세요.
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import lombok.*;
class A{
    public static void main(String args[]){
        List lst = new List(3);
        /*
        DB연동해서 회원ID 모두를 List컴포넌트에 출력합니다.
         lst.add("aa");
         lst.add("1");
         lst.add("11");
         lst.add("7");
        */

        Button b=new Button("삭제");
        Frame f=new Frame();
        f.setLayout(new FlowLayout());
        f.add(lst);f.add(b);
        f.setBounds(200,200,300,200);
        f.setVisible(true);
        // 이벤트등록
        b.addActionListener(new ActionHandler(lst));   
    }
}
class ActionHandler implements ActionListener{
    List lst;
    ActionHandler(List lst){ this.lst=lst; }
    public void actionPerformed(ActionEvent e){
        MemberDAO dao=MemberDAO.getInstance();
        dao.deleteMember( lst.getSelectedItem() );
    }
}    
/* Member */
@Data
class Member{
    private String id;
    private String pw;
    private String addr;
    private String tel;
}
/* DBUtil */
class DBUtil{
    public static Connection getConnection(){
    Connection conn=null;
    try{
        Class.forName("oracle.jdbc.driver.OracleDriver");
        String url = "jdbc:oracle:thin:@localhost:1521:xe";
        String id = "scott"; String pass = "tiger";
        conn = DriverManager.getConnection(url,id,pass);        
    }catch(SQLException sqle){
        System.out.println("DBConnection:SQLException");
        throw new RuntimeException(sqle.getMessage());
    }catch(ClassNotFoundException cnfe){
        System.out.println("DBConnection:ClassNotFoundException");
        throw new RuntimeException(cnfe.getMessage());
    }

        return conn; 
    }
}
/* MemberDAO */
class MemberDAO {
    private static MemberDAO instance;
    private MemberDAO(){}
    public static MemberDAO getInstance(){
        if(instance==null)
            instance=new MemberDAO();
        return instance;
    }
    public void deleteMember(String id){
        Connection con = null;
        PreparedStatement pstmt = null;

        try {
            StringBuffer listQuery = new StringBuffer();
            listQuery.append("delete from member where id=?");    
            con = DBUtil.getConnection();

            pstmt = con.prepareStatement(listQuery.toString());
            pstmt.setString(1,id);
            pstmt.executeUpdate();
        } catch(SQLException sqle) {
            System.out.println("MemberDAO:deleteMember:SQLException");
            throw new RuntimeException(sqle.getMessage());            
        } finally {
            try{
            if ( pstmt != null ){ pstmt.close(); pstmt=null; }
            if ( con != null ){ con.close(); con=null;    }
            }catch(Exception e){
            throw new RuntimeException(e.getMessage());
            }
        }
    }
}
[an]
import java.awt.*;
import java.util.*;
import java.awt.event.*;
import java.sql.*;
import lombok.*;
class A{
    public static void main(String args[]){
        java.awt.List lst = new java.awt.List(15);

         MemberDAO dao=MemberDAO.getInstance();
        java.util.List<Member> dblist=dao.selectMemberList();
        for(Member m : dblist) lst.add(m.getId());

        Button b=new Button("삭제");
        Frame f=new Frame();
        f.setLayout(new FlowLayout());
        f.add(lst);f.add(b);
        f.setBounds(200,200,300,800);
        f.setVisible(true);
        // 이벤트등록
        b.addActionListener(new ActionHandler(lst));   
    }
}
class ActionHandler implements ActionListener{
    java.awt.List lst;
    ActionHandler(java.awt.List lst){ this.lst=lst; }
    public void actionPerformed(ActionEvent e){
        MemberDAO dao=MemberDAO.getInstance();
        dao.deleteMember( lst.getSelectedItem() );
        java.util.List<Member> dblist=dao.selectMemberList();
        lst.removeAll();
        for(Member m : dblist) lst.add(m.getId());
    }
}    
/* Member */
@Data
class Member{
    private String id;
    private String pw;
    private String addr;
    private String tel;
}
/* DBUtil */
class DBUtil{
    public static Connection getConnection(){
    Connection conn=null;
    try{
        Class.forName("oracle.jdbc.driver.OracleDriver");
        String url = "jdbc:oracle:thin:@localhost:1521:xe";
        String id = "scott"; String pass = "tiger";
        conn = DriverManager.getConnection(url,id,pass);        
    }catch(SQLException sqle){
        System.out.println("DBConnection:SQLException");
        throw new RuntimeException(sqle.getMessage());
    }catch(ClassNotFoundException cnfe){
        System.out.println("DBConnection:ClassNotFoundException");
        throw new RuntimeException(cnfe.getMessage());
    }

        return conn; 
    }
}
/* MemberDAO */
class MemberDAO {
    private static MemberDAO instance;
    private MemberDAO(){}
    public static MemberDAO getInstance(){
        if(instance==null)
            instance=new MemberDAO();
        return instance;
    }
    public void deleteMember(String id){
        Connection con = null;
        PreparedStatement pstmt = null;

        try {
            StringBuffer listQuery = new StringBuffer();
            listQuery.append("delete from member where id=?");    
            con = DBUtil.getConnection();

            pstmt = con.prepareStatement(listQuery.toString());
            pstmt.setString(1,id);
            pstmt.executeUpdate();
        } catch(SQLException sqle) {
            System.out.println("MemberDAO:deleteMember:SQLException");
            throw new RuntimeException(sqle.getMessage());            
        } finally {
            try{
            if ( pstmt != null ){ pstmt.close(); pstmt=null; }
            if ( con != null ){ con.close(); con=null;    }
            }catch(Exception e){
            throw new RuntimeException(e.getMessage());
            }
        }
    }
    public java.util.List<Member> selectMemberList(){
        Connection con = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        try {
            StringBuffer listQuery = new StringBuffer();
            listQuery.append("select * from member");    
            con = DBUtil.getConnection();

            pstmt = con.prepareStatement(listQuery.toString());
            rs = pstmt.executeQuery();
            java.util.List<Member> v=new ArrayList<Member>();

            while(rs.next()){
                Member member=new Member();
                member.setId(rs.getString("id"));
                member.setPw(rs.getString("pw"));
                member.setAddr(rs.getString("addr"));
                member.setTel(rs.getString("tel"));
                v.add(member);
            }
            return v;
        } catch(SQLException sqle) {
            System.out.println("MemberDAO:selectMemberList:SQLException");
            throw new RuntimeException(sqle.getMessage());            
        } finally {
            try{
            if ( rs != null ){rs.close(); rs=null; }
            if ( pstmt != null ){ pstmt.close(); pstmt=null; }
            if ( con != null ){ con.close(); con=null;    }
            }catch(Exception e){
            throw new RuntimeException(e.getMessage());
            }
        }
    }
}
반응형
LIST

'Java(자바)' 카테고리의 다른 글

[Java] Wrapper, Random, Calendar클래스  (0) 2022.11.16
[Java] String 객체, Object객체  (0) 2022.11.16
[Java] 람다식  (0) 2022.11.16
[Java] MVC패턴의 흐름  (0) 2022.11.16
[Java] DB연동  (0) 2022.11.16
Comments