강사님의 코드
package com.tech.gt005.mission;
import java.awt.GridLayout;
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.SQLException;
import java.sql.Statement;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class BoatsStatementViewer_teacher extends JFrame {
JTextField sid, sname, rating, age;
JButton privButton, nextButton, insertButton, deleteButton, clearButton;
ResultSet rs;
Statement stmt;
public BoatsStatementViewer_teacher() throws SQLException {
// 화면구성
setTitle("Boatsviewer");
setSize(350, 300);
Connection con = makeConnection();
// stmt=con.createStatement();
stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery("select * from sailors");
setLayout(new GridLayout(0, 2));
add(new JLabel("sid"));
add(sid = new JTextField());
add(new JLabel("sname"));
add(sname = new JTextField());
add(new JLabel("rating"));
add(rating = new JTextField());
add(new JLabel("age"));
add(age = new JTextField());
privButton = new JButton("priv");
privButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("priv sign");
try {
rs.previous();
sid.setText(rs.getInt("sid") + "");
sname.setText(rs.getString("sname"));
rating.setText(rs.getInt("rating") + "");
age.setText(rs.getInt("age") + "");
} catch (SQLException e1) {
System.out.println("자료없음");
}
}
});
add(privButton);
nextButton = new JButton("next");
nextButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("next sign");
try {
rs.next();
sid.setText(rs.getInt("sid") + "");
sname.setText(rs.getString("sname"));
rating.setText(rs.getInt("rating") + "");
age.setText(rs.getInt("age") + "");
} catch (SQLException e1) {
System.out.println("자료없음");
}
}
});
add(nextButton);
insertButton = new JButton("insert");
insertButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("insert sign");
int ssid = Integer.parseInt(sid.getText());
String ssname = sname.getText();
int srating = Integer.parseInt(rating.getText());
int sage = Integer.parseInt(age.getText());
String sql = "insert into sailors values(" + ssid + ",'" + ssname + "'," + srating + "," + sage + ")";
try {
stmt = con.createStatement();
stmt.executeUpdate(sql);
stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery("select * from sailors");
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
add(insertButton);
deleteButton = new JButton("delete");
deleteButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("delete sign");
int ssid = Integer.parseInt(sid.getText());
String sql = "delete from sailors where sid=" + ssid;
try {
stmt = con.createStatement();
int count = stmt.executeUpdate(sql);
stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery("select * from sailors");
System.out.println("del count: " + count);
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
add(deleteButton);
clearButton = new JButton("clear");
clearButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("clear sign");
sid.setText("");
sname.setText("");
rating.setText("");
age.setText("");
}
});
add(clearButton);
setVisible(true);
}
public static Connection makeConnection() {
Connection con = null;
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String id = "hr", pass = "123456";
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection(url, id, pass);
System.out.println("db연결 성공");
} catch (Exception e) {
System.out.println("드라이버 없음");
}
return con;
}
public static void main(String[] args) throws SQLException {
new BoatsStatementViewer_teacher();
}
}
BoatsStatementViewer_teacher.java
강사님의 코드
package com.tech.gt005.mission;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class BoatsPreparedStatementViewer_teacher extends JFrame{
JTextField sid, sname, rating, age;
JButton privButton, nextButton, insertButton, deleteButton, clearButton;
ResultSet rs;
PreparedStatement pstmt;
public BoatsPreparedStatementViewer_teacher() throws SQLException {
// 화면구성
setTitle("Boatsviewer");
setSize(350, 300);
Connection con = makeConnection();
// stmt=con.createStatement();
String sql="select * from sailors";
pstmt = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = pstmt.executeQuery();
setLayout(new GridLayout(0, 2));
add(new JLabel("sid"));
add(sid = new JTextField());
add(new JLabel("sname"));
add(sname = new JTextField());
add(new JLabel("rating"));
add(rating = new JTextField());
add(new JLabel("age"));
add(age = new JTextField());
privButton = new JButton("priv");
privButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("priv sign");
try {
rs.previous();
sid.setText(rs.getInt("sid") + "");
sname.setText(rs.getString("sname"));
rating.setText(rs.getInt("rating") + "");
age.setText(rs.getInt("age") + "");
} catch (SQLException e1) {
System.out.println("자료없음");
}
}
});
add(privButton);
nextButton = new JButton("next");
nextButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("next sign");
try {
rs.next();
sid.setText(rs.getInt("sid") + "");
sname.setText(rs.getString("sname"));
rating.setText(rs.getInt("rating") + "");
age.setText(rs.getInt("age") + "");
} catch (SQLException e1) {
System.out.println("자료없음");
}
}
});
add(nextButton);
insertButton = new JButton("insert");
insertButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("insert sign");
int ssid = Integer.parseInt(sid.getText());
String ssname = sname.getText();
int srating = Integer.parseInt(rating.getText());
int sage = Integer.parseInt(age.getText());
// String sql = "insert into sailors values(" + ssid + ",'" + ssname + "'," + srating +","+sage+")";
String sql = "insert into sailors values(?,?,?,?)";
try {
pstmt = con.prepareStatement(sql);
pstmt.setInt(1, ssid);
pstmt.setString(2, ssname);
pstmt.setInt(3, srating);
pstmt.setInt(4, sage);
//진실행
pstmt.executeUpdate();
sql="select * from sailors";
pstmt = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = pstmt.executeQuery();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
add(insertButton);
deleteButton = new JButton("delete");
deleteButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("delete sign");
int ssid = Integer.parseInt(sid.getText());
String sql = "delete from sailors where sid=?";
try {
pstmt = con.prepareStatement(sql);
pstmt.setInt(1, ssid);
int count=pstmt.executeUpdate();
sql="select * from sailors";
pstmt = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = pstmt.executeQuery();
System.out.println("del count: "+count);
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
add(deleteButton);
clearButton = new JButton("clear");
clearButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("clear sign");
sid.setText("");
sname.setText("");
rating.setText("");
age.setText("");
}
});
add(clearButton);
setVisible(true);
}
public static Connection makeConnection() {
Connection con = null;
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String id = "hr", pass = "123456";
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection(url, id, pass);
System.out.println("db연결 성공");
} catch (Exception e) {
System.out.println("드라이버 없음");
}
return con;
}
public static void main(String[] args) throws SQLException {
new BoatsPreparedStatementViewer_teacher();
}
}
BoatsPreparedStatementViewer_teacher.java
강사님의 의도는 statementviewer 에서 statement 부분을 preparedstatement 로 바꾸어 같은 기능을 구현하라는 거였는데 의도를 잘못파악해서 전혀 다른 program을 구현해버렸다.
나머지 시간은 카카오 오븐 작업 후 제출, 후 semiproject 만들기 시작