기록
day 0605 데이터베이스 연결 프로그래밍 본문
package com.kosta.exam01;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.util.Scanner;
public class InsertStudent {
public static void main(String[] args) {
String name;
int kor, eng, math;
Scanner sc = new Scanner(System.in);
System.out.print("학생의 이름==>");
name = sc.next();
System.out.print("국어점수 ==>");
kor = sc.nextInt();
System.out.print("영어점수 ==>");
eng = sc.nextInt();
System.out.print("수학점수 ==>");
math = sc.nextInt();
Connection conn = null;
Statement stmt = null;
try {
String sql = "insert into student values('"+name+"',"+kor+","+eng+","+math+")";
//1. jdbc드라이버를 메모리로 로드한다.
Class.forName("oracle.jdbc.driver.OracleDriver");
//2. DB서버에 연결한다.
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:XE",
"c##madang",
"madang");
//3. 데이터베이스 명령어 실행 담당 객체를 생성
stmt = conn.createStatement();
//4. 데이터베이스 명령어를 실행한다.
int re = stmt.executeUpdate(sql);
if(re == 1) {
System.out.println("학생의 정보를 추가 하였습니다.");
}else {
System.out.println("학생의 정보 추가에 실패하였습니다.");
}
}catch (Exception e) {
System.out.println("예외발생:"+e.getMessage());
}finally {
try {
if(stmt != null) {
stmt.close();
}
if( conn != null) {
conn.close();
}
}catch (Exception e) {
// TODO: handle exception
}
}
}
}
package com.kosta.exam01;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
// 학생의 이름, 국어, 영어, 수학을 입력받아
// student테이블에 정보를 추가하는 프로그램을 GUI로 작성합니다.
// 화면구성및 변수명등은 자유롭게 합니다.
public class InsertStudentGUI extends JFrame {
JTextField jtf_name;
JTextField jtf_kor;
JTextField jtf_eng;
JTextField jtf_math;
public InsertStudentGUI() {
setLayout(new FlowLayout());
jtf_name = new JTextField(10);
jtf_kor = new JTextField(5);
jtf_eng = new JTextField(5);
jtf_math = new JTextField(5);
add(new JLabel("이름"));
add(jtf_name);
add(new JLabel("국어"));
add(jtf_kor);
add(new JLabel("영어"));
add(jtf_eng);
add(new JLabel("수학"));
add(jtf_math);
JButton btnAdd= new JButton("등록");
btnAdd.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Connection conn = null;
Statement stmt = null;
String name = jtf_name.getText();
int kor = Integer.parseInt(jtf_kor.getText());
int eng = Integer.parseInt(jtf_eng.getText());
int math = Integer.parseInt(jtf_math.getText());
try {
String sql = "insert into student values('"+name+"',"+kor+","+eng+","+math+")";
//1. jdbc드라이버를 메모리로 로드한다.
Class.forName("oracle.jdbc.driver.OracleDriver");
//2. DB서버에 연결한다.
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:XE",
"c##madang",
"madang");
//3. 데이터베이스 명령어 실행 담당 객체를 생성
stmt = conn.createStatement();
//4. 데이터베이스 명령어를 실행한다.
int re = stmt.executeUpdate(sql);
if(re == 1) {
System.out.println("학생의 정보를 추가 하였습니다.");
}else {
System.out.println("학생의 정보 추가에 실패하였습니다.");
}
}catch (Exception ex) {
System.out.println("예외발생:"+ex.getMessage());
}finally {
try {
if(stmt != null) {
stmt.close();
}
if( conn != null) {
conn.close();
}
}catch (Exception ex) {
// TODO: handle exception
}
}
}
});
setSize(550, 300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new InsertStudentGUI();
}
}
/추가하기/
/조회하기/
/sql문 끝내기/
}finally {
try {
if(stmt != null) {
stmt.close();
}
if(conn != null) {
conn.close();
}
if(rs != null) {
rs.close();
}
}catch(Exception ex) {
System.out.println("예외발생 : " + ex.getMessage());
}
/sql문 데이터 조회하기/
package com.kosta.exam01;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class ListStudent {
public static void main(String[] args) {
String sql = "select * from student";
Statement stmt = null;
Connection conn = null;
ResultSet rs = null;
try {
// 드라이버 이름
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:XE",
"c##madang",
"madang");
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
// 레코드가 더이상 없다면 false 탈출한다
while(rs.next()) {
// 컬럼 인덱스 : 내가 실행한 명령어 기준
String name = rs.getString(1);
int kor = rs.getInt(2);
int eng = rs.getInt(3);
int math = rs.getInt(4);
System.out.println(name + ", " + kor + ", " + eng + ", " + math);
}
}catch(Exception e) {
System.out.println("예외발생 : " + e.getMessage());
}finally {
try {
if(stmt != null) {
stmt.close();
}
if(conn != null) {
conn.close();
}
if(rs != null) {
rs.close();
}
}catch(Exception ex) {
System.out.println("예외발생 : " + ex.getMessage());
}
}
}
}
insert into student values('학생, 100, 90, 80'); 추가 후 실행하면 반영된다
/화면 구성하기/
package com.kosta.exam01;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class ListStudentGUI extends JFrame {
JTextArea jta;
public ListStudentGUI(){
jta = new JTextArea();
JScrollPane jsp = new JScrollPane(jta);
JPanel p = new JPanel();
p.setLayout(new FlowLayout(FlowLayout.RIGHT));
JButton btnRead = new JButton("읽어오기");
p.add(btnRead);
add(jsp, BorderLayout.CENTER);
add(p, BorderLayout.SOUTH);
setSize(400, 300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new ListStudentGUI();
}
}
/sql문 JFrame "읽어오기" 버튼으로 데이터 불러오기/
package com.kosta.exam01;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class ListStudentGUI extends JFrame {
JTextArea jta;
public ListStudentGUI(){
jta = new JTextArea();
JScrollPane jsp = new JScrollPane(jta);
JPanel p = new JPanel();
p.setLayout(new FlowLayout(FlowLayout.RIGHT));
JButton btnRead = new JButton("읽어오기");
p.add(btnRead);
add(jsp, BorderLayout.CENTER);
add(p, BorderLayout.SOUTH);
setSize(400, 300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
btnRead.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 데이터베이스 불러오기전에 지우기
jta.setText(" " );
String sql = "select * from student";
Statement stmt = null;
Connection conn = null;
ResultSet rs = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:XE",
"c##madang",
"madang");
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while(rs.next()) {
String name = rs.getString(1);
int kor = rs.getInt(2);
int eng = rs.getInt(3);
int math = rs.getInt(4);
String row = name + ", " + kor + ", " + eng + ", " + math + "\n";
jta.append(row);
}
}catch(Exception ex) {
System.out.println("예외발생 : " + ex.getMessage());
}finally {
try {
if(stmt != null) {
stmt.close();
}
if(conn != null) {
conn.close();
}
if(rs != null) {
rs.close();
}
}catch(Exception ex) {
System.out.println("예외발생 : " + ex.getMessage());
}
}
}
});
}
public static void main(String[] args) {
new ListStudentGUI();
}
}
/2차원 배열의 JTable/
/화면 구성하기/
package com.kosta.exam01;
import java.awt.ScrollPane;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class JTableTest extends JFrame {
JTable table;
public JTableTest() {
String[] colNames = {"이름", "국어", "영어", "수학"};
String[][] rowData = {
{"가","80","90","100"},
{"나","80","90","95"},
{"다","90","80","70"}
};
// 테이블 생성
table = new JTable(rowData, colNames);
JScrollPane jsp = new JScrollPane(table);
add(jsp);
setSize(400, 100);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JTableTest();
}
}
/버튼 눌러서 배열에 데이터 불러오기/
단점 : 데이터 추가 후 다시 불러오기에 부적합하다
JTable Vector로 생성하기 (Vector는 list의 후손이다)
/화면 구성하기/
package com.kosta.exam01;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class ListStudentJTableGUI extends JFrame {
// row 데이터는 Vector, colunm은 String
Vector<String> colName;
Vector<Vector<String>> rowData;
JTable table;
public ListStudentJTableGUI(){
colName = new Vector<String>();
colName.add("이름");
colName.add("국어");
colName.add("영어");
colName.add("수학");
rowData = new Vector<Vector<String>>();
table = new JTable(rowData, colName);
JScrollPane jsp = new JScrollPane(table);
JPanel p = new JPanel();
p.setLayout(new FlowLayout(FlowLayout.RIGHT));
JButton btnRead = new JButton("읽어오기");
p.add(btnRead);
add(jsp, BorderLayout.CENTER);
add(p, BorderLayout.SOUTH);
setSize(400, 300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new ListStudentJTableGUI();
}
}
package com.kosta.exam01;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
public class ListStudentJTableGUI extends JFrame {
// row 데이터는 Vector, colunm은 String
Vector<String> colName;
Vector<Vector<String>> rowData;
JTable table;
public ListStudentJTableGUI(){
colName = new Vector<String>();
colName.add("이름");
colName.add("국어");
colName.add("영어");
colName.add("수학");
rowData = new Vector<Vector<String>>();
table = new JTable(rowData, colName);
JScrollPane jsp = new JScrollPane(table);
JPanel p = new JPanel();
p.setLayout(new FlowLayout(FlowLayout.RIGHT));
JButton btnRead = new JButton("읽어오기");
p.add(btnRead);
add(jsp, BorderLayout.CENTER);
add(p, BorderLayout.SOUTH);
setSize(400, 300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
btnRead.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 데이터베이스 불러오기전에 지우기
// jta.setText(" " );
rowData.clear();
String sql = "select * from student";
Statement stmt = null;
Connection conn = null;
ResultSet rs = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:XE",
"c##madang",
"madang");
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while(rs.next()) {
String name = rs.getString(1);
int kor = rs.getInt(2);
int eng = rs.getInt(3);
int math = rs.getInt(4);
// vector로 추가하기
Vector<String> row = new Vector<String>();
row.add(name);
row.add(kor+"");
row.add(eng+"");
row.add(math+"");
rowData.add(row);
}
table.updateUI();
}catch(Exception ex) {
System.out.println("예외발생 : " + ex.getMessage());
}finally {
try {
if(stmt != null) {
stmt.close();
}
if(conn != null) {
conn.close();
}
if(rs != null) {
rs.close();
}
}catch(Exception ex) {
System.out.println("예외발생 : " + ex.getMessage());
}
}
}
});
}
public static void main(String[] args) {
new ListStudentJTableGUI();
}
}
자료를 조회하는 데이터베이스 명령어
select 컬럼명1, 컬럼명2, .. from 테이블명;
예) student 테이블에서 학생의 이름을 조회
select name from student;
예) student 테이블에서 학생의 이름, 영어점수 조회
select name, eng from student;
예) student 테이블에서 모든 속성 조회
select * from student;
* 은 모두
dir - *.java 를 하면 모든 java 파일을 보여준다
<< 조건을 만족하는 데이터의 조회 >>
select 칼럼명 from 테이블명 where 조건식;
예) 국어점수가 90점 이상인 학생들의 이름, 국어 점수 조회
select name, kor from student where kor >=90;
예) 이름이 '학생'인 학생의 국어 점수를 조회
select kor from student where name = '학생';
예) 이름이 '학생'인 학생의 모든 속성 조회
select * from student where name = '학생';
/사용자한테 이름을 입력받아 해당 학생의 정보를 조회하여 출력하기/
package com.kosta.exam01;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Scanner;
// 사용자한테 이름을 입력받아 해당 학생의 정보를 조회하여 출력하기(CUI)
// select * from student where name = ' '
public class FindStudentByName {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String search;
System.out.print("학생의 이름 : ");
search = sc.next();
String sql = "select * from student where name = '"+ search +"'";
Statement stmt = null;
Connection conn = null;
ResultSet rs = null;
try {
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:XE";
String username = "c##madang";
String password = "madang";
Class.forName(driver);
conn = DriverManager.getConnection(url, username, password);
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while(rs.next()) {
String name = rs.getString(1);
int kor = rs.getInt(2);
int eng = rs.getInt(3);
int math = rs.getInt(4);
System.out.println(name+","+kor+","+eng+","+math);
}
}catch(Exception e) {
System.out.println("예외발생 : " + e.getMessage());
}finally{
try {
if(stmt != null) {
stmt.close();
}
if(conn != null) {
conn.close();
}
if(rs != null) {
rs.close();
}
}catch(Exception e) {
System.out.println("예외발생 : " + e.getMessage());
}
}
}
}
14:00 ~
/선택한 학생의 이름 출력하기/
table.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent e) {
// getSelectedRow(); 선택한 행 번호 출력
int idx = table.getSelectedRow();
Vector<String> row = rowData.get(idx);
String name = row.get(0);
System.out.println(name);
}
/선택한 학생의 모든 정보 출력하기/
table.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent e) {
// getSelectedRow(); 선택한 행 번호 출력
int idx = table.getSelectedRow();
Vector<String> row = rowData.get(idx);
String search = row.get(0);
String sql = "select * from student where name = '"+search+"'";
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:XE";
String username = "c##madang";
String password = "madang";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, username, password);
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while(rs.next()) {
String name = rs.getString(1);
int kor = rs.getInt(2);
int eng = rs.getInt(3);
int math = rs.getInt(4);
System.out.println(name+","+kor+","+eng+","+math);
}
}catch (Exception ex) {
System.out.println("예외발생:"+ex.getMessage());
}finally {
try {
if(rs != null) {
rs.close();
}
if(stmt != null) {
stmt.close();
}
if( conn != null) {
conn.close();
}
}catch (Exception ex) {
System.out.println("예외발생:"+ex.getMessage());
}
}
}
/테이블에 있는 정보를 등록, 조회, 선택한 학생 클릭하면 모든 정보 출력하기/
package com.kosta.exam01;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Scanner;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class InsertSelectStudent extends JFrame {
JTextField jtf_name;
JTextField jtf_kor;
JTextField jtf_eng;
JTextField jtf_math;
Vector<String> colName;
Vector<Vector<String>> rowData;
JTable table;
public static String driver = "oracle.jdbc.driver.OracleDriver";
public static String url= "jdbc:oracle:thin:@localhost:1521:XE";
public static String username = "c##madang";
public static String password = "madang";
Statement stmt = null;
Connection conn = null;
ResultSet rs = null;
Vector<String> row;
String name;
int kor, eng, math;
public void clickStudent() {
// JTable에서 눌렀다 떼지면 선택한 학생 정보 출력하기 (선택한 행의 인덱스 가져오기)
int idx = table.getSelectedRow();
// JTable의 데이터를 갖고있는 rowDate로 부터 선택한 행의 정보를 갖고온다
row = rowData.get(idx);
// 갖고온 Vector로 부터 이름을 가져온다
String search = row.get(0);
// student 테이블에서 선택한 학생의 이름을 레코드에서 조회하기 위한 명령어를 만든다
String sql = "select * from student where name = '"+search+"'";
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, username, password);
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
// 만약 학생의 이름이 중복되지 않는다면 검색결과가 한 건 밖에 없을 것이므로
// while문 보다는 if문을 사용한다
if(rs.next()) {
name = rs.getString(1);
kor = rs.getInt(2);
eng = rs.getInt(3);
math = rs.getInt(4);
jtf_name.setText(name);
jtf_kor.setText(kor + "");
jtf_eng.setText(eng + "");
jtf_math.setText(math + "");
}
}catch (Exception ex) {
System.out.println("예외발생:"+ex.getMessage());
}finally {
try {
if(rs != null) {
rs.close();
}
if(stmt != null) {
stmt.close();
}
if( conn != null) {
conn.close();
}
}catch (Exception ex) {
System.out.println("예외발생:"+ex.getMessage());
}
}
}
public void insertStudent() {
name = jtf_name.getText();
kor = Integer.parseInt(jtf_kor.getText());
eng = Integer.parseInt(jtf_eng.getText());
math = Integer.parseInt(jtf_math.getText());
try {
String sql = "insert into student values('"+name+"',"+kor+","+eng+","+math+")";
Class.forName(driver);
conn = DriverManager.getConnection(url, username, password);
stmt = conn.createStatement();
int re = stmt.executeUpdate(sql);
if(re == 1) {
System.out.println("학생의 정보를 추가 하였습니다.");
loadStudent();
}else {
System.out.println("학생의 정보 추가에 실패하였습니다.");
loadStudent();
}
}catch (Exception e) {
System.out.println("예외발생:"+e.getMessage());
}finally {
try {
if(stmt != null) {
stmt.close();
}
if( conn != null) {
conn.close();
}
if(rs != null) {
rs.close();
}
jtf_name.setText("");
jtf_kor.setText("");
jtf_eng.setText("");
jtf_math.setText("");
}catch (Exception e) {
System.out.println("예외발생 : " + e.getMessage());
}
}
}
// student 의 모든 학생 정보를 조회하여 JTable에 출력하는 메소드
public void loadStudent() {
rowData.clear();
// order by column_name asc 각 열을 기준으로 오름차순 정렬
String sql = "select * from student order by name asc";
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, username, password);
stmt = conn.createStatement();
// 조회하기 (ResultSet으로 반환한다)
rs = stmt.executeQuery(sql);
// next() 데이터를 하나씩 옮겨가다 없으면 false
while(rs.next()) {
// 칼럼을 변수에 담는다
name = rs.getString(1); // 첫번째 칼럼
kor = rs.getInt(2); // 두번째 칼럼
eng = rs.getInt(3);
math = rs.getInt(4);
// Vector에 추가하기
row = new Vector<String>();
row.add(name);
row.add(kor+"");
row.add(eng+"");
row.add(math+"");
rowData.add(row);
}
// 테이블을 다시 그려줘
table.updateUI();
jtf_name.setText("");
jtf_kor.setText("");
jtf_eng.setText("");
jtf_math.setText("");
}catch(Exception e) {
System.out.println("예외발생 : " + e.getMessage());
}finally {
try {
if(rs != null) {
rs.close();
}
if(stmt != null) {
stmt.close();
}
if( conn != null) {
conn.close();
}
}catch (Exception ex) {
System.out.println("예외발생 : " + ex.getMessage());
}
}
}
public InsertSelectStudent(){
jtf_name = new JTextField(10);
jtf_kor = new JTextField(5);
jtf_eng = new JTextField(5);
jtf_math = new JTextField(5);
JPanel p = new JPanel();
p.add(new JLabel("이름"));
p.add(jtf_name);
p.add(new JLabel("국어"));
p.add(jtf_kor);
p.add(new JLabel("영어"));
p.add(jtf_eng);
p.add(new JLabel("수학"));
p.add(jtf_math);
colName = new Vector<String>();
colName.add("이름");
colName.add("국어");
colName.add("영어");
colName.add("수학");
rowData = new Vector<Vector<String>>();
table = new JTable(rowData, colName);
JScrollPane jsp = new JScrollPane(table);
JButton btnAdd= new JButton("등록");
JButton btnAddUpdate = new JButton("수정");
JButton btnAddDelete = new JButton("삭제");
JButton btnRead = new JButton("조회");
p.add(btnAdd);
p.add(btnAddUpdate);
p.add(btnAddDelete);
p.add(btnRead);
add(p, BorderLayout.NORTH);
add(jsp, BorderLayout.CENTER);
// 창이 열리자마자 정보창에 출력하기
loadStudent();
setSize(710, 350);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
table.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent e) {
clickStudent();
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseClicked(MouseEvent e) {
}
});
btnAdd.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
insertStudent();
}
});
btnRead.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
loadStudent();
}
});
}
public static void main(String[] args) {
new InsertSelectStudent();
}
}
/모든 정보 출력하기/
/새로운 정보 등록하기/
수정/삭제는 ,,, 직접 해보기 ,,,,,,,,,
- 오늘 학습한 내용에 대하여 요약 및 정리하고 잘 이해가 되지않는 부분은 질문을 통해 이해하고 넘어갑니다
- 요약 및 정리가 끝난사람들은
1) 데이터베이스 레코드 수정을위한 명령어를 알아보고
선택한 학생의 정보를 입력내용으로 수정하는 기능을 추가 해 봅니다
2) 데이터베이스 레코드 삭제하는 명령어를 알아보고
선택한 학생의 정보를 삭제하는 기능을 추가 해 봅니다
'📖' 카테고리의 다른 글
데이터베이스 명령어 (1) | 2024.06.09 |
---|---|
day 0607 데이터베이스 연결 프로그래밍 수정_삭제 (1) | 2024.06.07 |
day 0604 네트워크 프로그래밍 (2) | 2024.06.04 |
day 0603 메모장 (0) | 2024.06.03 |
day 0531 GUI 연습 (0) | 2024.05.31 |