Control.java
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Control implements ActionListener {
ViewFrame view;
ModelStudent model = new ModelStudent();
Control(ViewFrame view) {
this.view = view;
}
public void actionPerformed(ActionEvent e) {
// TODO 自动生成方法存根
if (e.getActionCommand().equals("增加")) {
// 获取界面层的数据输入
String sname = view.txtSname.getText();
String sid = view.txtSid.getText();
String sgrade = view.txtSgrade.getText();
String sbirthday = view.txtSbirthday.getText();
// 为数据层属性设置值
model.setSname(sname);
model.setSgrade(Float.parseFloat(sgrade));
model.setSbirthday(sbirthday);
if (model.isAddSuccess())
javax.swing.JOptionPane.showMessageDialog(null, "插入成功");
else
javax.swing.JOptionPane.showMessageDialog(null, "插入失败");
}
else if (e.getActionCommand().equals("查询")) {
String sid = view.txtSid.getText();
model.setSid(Integer.parseInt(sid));
if (model.isSelectSuccess()) {
view.txtSname.setText(model.getSname().trim());// 从数据层取出姓名,放到界面上
view.txtSgrade.setText(model.getSgrade() + "");
view.txtSbirthday.setText(model.getSbirthday().trim());
javax.swing.JOptionPane.showMessageDialog(null, "查询成功");
} else
javax.swing.JOptionPane.showMessageDialog(null, "查询失败");
}
else if (e.getActionCommand().equals("删除")) {
String sid = view.txtSid.getText();
model.setSid(Integer.parseInt(sid));
if (model.isDeleteSuccess()) {
view.txtSname.setText("");// 数据已删除,故清空界面数据
view.txtSgrade.setText("");
view.txtSbirthday.setText("");
view.txtSid.setText("");
javax.swing.JOptionPane.showMessageDialog(null, "删除成功");
} else
javax.swing.JOptionPane.showMessageDialog(null, "删除失败");
}
else if (e.getActionCommand().equals("修改")) {
// 从界面获取输入
String sname = view.txtSname.getText();
String sid = view.txtSid.getText();
String sgrade = view.txtSgrade.getText();
String sbirthday = view.txtSbirthday.getText();
// 为数据层属性设置值,将界面输入放入数据层
model.setSname(sname);
model.setSgrade(Float.parseFloat(sgrade));
model.setSbirthday(sbirthday);
model.setSid(Integer.parseInt(sid));
if (model.isUpdateSuccess()) {
javax.swing.JOptionPane.showMessageDialog(null, "修改成功");
} else
javax.swing.JOptionPane.showMessageDialog(null, "修改失败");
}
}
}
DBOperation
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBOperation {
public static void main(String[] args) {
System.out.println(openCon());
}
public static Connection openCon() {
try {
// Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //桥连 odbc->jdbc
// Connection con = DriverManager.getConnection("jdbc:odbc:test");
Class.forName("oracle.jdbc.driver.OracleDriver");// jdbc直连oracle
//jdbc直连sercer sql("sun.jdbc.odbc.JdbcOdbcDriver")
Connection con =DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.110:1521:WCZY", "TEAM1", "TEAM1"); //("jdbc:oracle:thin:@IP地址:1521:数据源","用户名","密码")
//("com.microsoft.jdbc.sqlserver.SQLServerDriver")
return con;
} catch (Exception e) {
// TODO: handle exception
return null;
}
}
public static void closeCon(Connection con) {
if (con != null)
try {
con.close();
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}
ModelStudent.java
package com.wczy.oracle;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
public class ModelStudent {
public boolean isSelectSuccess() {
Connection con = DBOperation.openCon();
try {
PreparedStatement pstmt = con
.prepareStatement("select * from student where sid =?");
pstmt.setInt(1, sid);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
this.setSname(rs.getString(2));// 从数据库取出姓名,放入数据层
this.setSgrade(rs.getFloat("sgrade"));
this.setSbirthday(rs.getString(4));
return true;
}
else
return false;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return false;
} finally {
DBOperation.closeCon(con);
}
}
public boolean isAddSuccess() {
Connection con = DBOperation.openCon();
try {
// Statement stmt = con.createStatement();
// String sql = "insert into student values ( '" + sname + "',"
// + sgrade + ",'" + sbirthday + "')";
// stmt.execute(sql);
PreparedStatement pstmt = con
.prepareStatement("insert into student values ( S1.NEXTVAL,?,?,to_date(?,'YYYY-MM-DD'))");
pstmt.setString(1, sname);
pstmt.setFloat(2, sgrade);
pstmt.setString(3, sbirthday);
pstmt.executeUpdate();
return true;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return false;
} finally {
DBOperation.closeCon(con);
}
}
public boolean isDeleteSuccess() {
Connection con = DBOperation.openCon();
try {
PreparedStatement pstmt = con
.prepareStatement("delete from student where sid = ?");
pstmt.setInt(1, sid);
pstmt.executeUpdate();
return true;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return false;
} finally {
DBOperation.closeCon(con);
}
}
public boolean isUpdateSuccess() {
Connection con = DBOperation.openCon();
try {
PreparedStatement pstmt = con
.prepareStatement("update student set sname=?,sgrade=?,sbirthday=to_date(?,'YYYY-MM-DD') where sid =?");
pstmt.setString(1, sname);
pstmt.setFloat(2, sgrade);
pstmt.setString(3, sbirthday);
pstmt.setInt(4, sid);
pstmt.executeUpdate();
return true;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return false;
} finally {
DBOperation.closeCon(con);
}
}
private int sid;
private String sname;
private float sgrade;
private String sbirthday;
public String getSbirthday() {
return sbirthday;
}
public void setSbirthday(String sbirthday) {
this.sbirthday = sbirthday;
}
public float getSgrade() {
return sgrade;
}
public void setSgrade(float sgrade) {
this.sgrade = sgrade;
}
public int getSid() {
return sid;
}
public void setSid(int sid) {
this.sid = sid;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
}
ViewFrame.java
import javax.swing.JFrame;
import java.awt.Dimension;
import javax.swing.JPanel;
import java.awt.GridBagLayout;
import javax.swing.JLabel;
import java.awt.Rectangle;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JTextField;
import javax.swing.JButton;
public class ViewFrame extends JFrame {
public static void main(String[] args) {
ViewFrame f = new ViewFrame();
f.setVisible(true);
}
private JPanel jPanel = null;
private JLabel jLabel = null;
private JLabel jLabel1 = null;
private JLabel jLabel2 = null;
private JLabel jLabel3 = null;
JTextField txtSid = null;
JTextField txtSname = null;
JTextField txtSgrade = null;
JTextField txtSbirthday = null;
private JButton btnAdd = null;
private JButton btnUpdate = null;
private JButton btnDelte = null;
private JButton btnSelect = null;
public ViewFrame() {
super();
initialize();
}
private void initialize() {
this.setSize(new Dimension(447, 224));
this.setContentPane(getJPanel());
}
private JPanel getJPanel() {
if (jPanel == null) {
jLabel3 = new JLabel();
jLabel3.setBounds(new Rectangle(26, 144, 68, 31));
jLabel3.setText("生日");
jLabel2 = new JLabel();
jLabel2.setBounds(new Rectangle(23, 111, 60, 23));
jLabel2.setText("成绩");
jLabel1 = new JLabel();
jLabel1.setBounds(new Rectangle(21, 70, 42, 25));
jLabel1.setText("姓名");
jLabel = new JLabel();
jLabel.setBounds(new Rectangle(21, 17, 38, 30));
jLabel.setText("学号");
jPanel = new JPanel();
jPanel.setLayout(null);
jPanel.add(jLabel, null);
jPanel.add(jLabel1, null);
jPanel.add(jLabel2, null);
jPanel.add(jLabel3, null);
jPanel.add(getTxtSid(), null);
jPanel.add(getTxtSname(), null);
jPanel.add(getTxtSgrade(), null);
jPanel.add(getTxtSbirthday(), null);
jPanel.add(getBtnAdd(), null);
jPanel.add(getBtnUpdate(), null);
jPanel.add(getBtnDelte(), null);
jPanel.add(getBtnSelect(), null);
}
return jPanel;
}
private JTextField getTxtSid() {
if (txtSid == null) {
txtSid = new JTextField();
txtSid.setBounds(new Rectangle(108, 11, 139, 28));
}
return txtSid;
}
private JTextField getTxtSname() {
if (txtSname == null) {
txtSname = new JTextField();
txtSname.setBounds(new Rectangle(104, 64, 143, 32));
}
return txtSname;
}
private JTextField getTxtSgrade() {
if (txtSgrade == null) {
txtSgrade = new JTextField();
txtSgrade.setBounds(new Rectangle(103, 111, 158, 28));
}
return txtSgrade;
}
private JTextField getTxtSbirthday() {
if (txtSbirthday == null) {
txtSbirthday = new JTextField();
txtSbirthday.setBounds(new Rectangle(116, 152, 140, 35));
}
return txtSbirthday;
}
private JButton getBtnAdd() {
if (btnAdd == null) {
btnAdd = new JButton();
btnAdd.setBounds(new Rectangle(314, 12, 102, 31));
btnAdd.setText("增加");
btnAdd.addActionListener(new Control(this));
}
return btnAdd;
}
private JButton getBtnUpdate() {
if (btnUpdate == null) {
btnUpdate = new JButton();
btnUpdate.setBounds(new Rectangle(317, 61, 104, 31));
btnUpdate.setText("修改");
btnUpdate.addActionListener(new Control(this));
}
return btnUpdate;
}
private JButton getBtnDelte() {
if (btnDelte == null) {
btnDelte = new JButton();
btnDelte.setBounds(new Rectangle(316, 108, 110, 31));
btnDelte.setText("删除");
btnDelte.addActionListener(new Control(this));
}
return btnDelte;
}
private JButton getBtnSelect() {
if (btnSelect == null) {
btnSelect = new JButton();
btnSelect.setBounds(new Rectangle(318, 156, 109, 27));
btnSelect.setText("查询");
btnSelect.addActionListener(new Control(this));
}
return btnSelect;
}
}