数据库管理系统
界面展示:
代码实现:
data.java
package text;
import java.sql.*;
class data {
String uri = "jdbc:mysql://127.0.0.1:3306/student?characterEncoding=utf-8";
String Myuser = "root";
String Mypassword = "123456";
static Connection con = null;
public data() {
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(uri, Myuser, Mypassword);
System.out.println("数据库连接成功");
} catch (SQLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getCon() {
return con;
}
}
view.java
package text;
import java.awt.*;
import java.awt.event.*;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.swing.*;
class view extends JFrame {
public view() {
initComponents();
this.setVisible(true);
}
data da=new data();
//学生增添信息
private void button1ActionPerformed(ActionEvent e) {
// TODO add your code here
String t1=textField1.getText();
String t2=textField2.getText();
String t3=textField3.getText();
String t4=textField4.getText();
String t5=textField5.getText();
//判断输入是否为空
if(t1.equals("")||t2.equals("")||t3.equals("")||t4.equals("")||t5.equals(""))
{
JOptionPane.showMessageDialog(null,"输入为空!");
}
else {
PreparedStatement p = null;
//预处理
String sql = "INSERT INTO student(studentid,studentname,sex,age,classid) values (?,?,?,?,?)";
try {
p = da.getCon().prepareStatement(sql);
p.setString(1, t1);
p.setString(2, t2);
p.setString(3, t3);
p.setString(4, t4);
p.setString(5, t5);
int ok = p.executeUpdate();
p.close();
JOptionPane.showMessageDialog(null, "添加成功");
} catch (SQLException ex) {
//ex.printStackTrace();
JOptionPane.showMessageDialog(null, "增添信息有误");
}
}
}
//学生信息更新
private void button2ActionPerformed(ActionEvent e) {
// TODO add your code here
String t1=textField1.getText();
String t2=textField2.getText();
String t3=textField3.getText();
String t4=textField4.getText();
String t5=textField5.getText();
//判断是否输入为空
if(t1.equals("")||t2.equals("")||t3.equals("")||t4.equals("")||t5.equals(""))
{
JOptionPane.showMessageDialog(null,"输入为空!");
}
else {
PreparedStatement p = null;
String sql = "UPDATE student set studentname=?,sex=?,age=?,classid=? where studentid=?";
try {
p = da.getCon().prepareStatement(sql);
p.setString(5, t1);
p.setString(1, t2);
p.setString(2, t3);
p.setString(3, t4);
p.setString(4, t5);
int ok = p.executeUpdate();
p.close();
JOptionPane.showMessageDialog(null, "修改成功!");
} catch (SQLException ex) {
//ex.printStackTrace();
JOptionPane.showMessageDialog(null, "修改信息有误!");
}
}
}
private void button3ActionPerformed(ActionEvent e) {
String t1=textField1.getText();
if(t1.equals(""))
{
JOptionPane.showMessageDialog(null,"输入为空!");
}
else {
PreparedStatement p = null;
//预处理
String sql = "DELETE FROM student where studentid=?";
try {
p = da.getCon().prepareStatement(sql);
p.setString(1, t1);
int ok = p.executeUpdate();
p.close();
JOptionPane.showMessageDialog(null, "删除成功!");
} catch (SQLException ex) {
//ex.printStackTrace();
JOptionPane.showMessageDialog(null, "删除有误!");
}
}
}
private void button4ActionPerformed(ActionEvent e) {
// TODO add your code here
textField1.setText("");
textField2.setText("");
textField3.setText("");
textField4.setText("");
textField5.setText("");
}
private void button5ActionPerformed(ActionEvent e) {
// TODO add your code here
String t1=textField6.getText();
String t2=textField7.getText();
String t3=textField8.getText();
//判断输入是否为空
if(t1.equals("")||t2.equals("")||t3.equals(""))
{
JOptionPane.showMessageDialog(null,"输入为空!");
}
else {
PreparedStatement p = null;
//预处理
String sql = "INSERT INTO class(classid,classname,headteacher) values (?,?,?)";
try {
p = da.getCon().prepareStatement(sql);
p.setString(1, t1);
p.setString(2, t2);
p.setString(3, t3);
int ok = p.executeUpdate();
p.close();
JOptionPane.showMessageDialog(null, "添加成功");
} catch (SQLException ex) {
//ex.printStackTrace();
JOptionPane.showMessageDialog(null, "增添信息有误");
}
}
}
private void button6ActionPerformed(ActionEvent e) {
// TODO add your code here
String t1=textField6.getText();
String t2=textField7.getText();
String t3=textField8.getText();
if(t1.equals("")||t2.equals("")||t3.equals(""))
{
JOptionPane.showMessageDialog(null,"输入为空!");
}
else {
PreparedStatement p = null;
String sql = "UPDATE class set classname=?,headteacher=? where classid=?";
try {
p = da.getCon().prepareStatement(sql);
p.setString(3, t1);
p.setString(1, t2);
p.setString(2, t3);
int ok = p.executeUpdate();
p.close();
JOptionPane.showMessageDialog(null, "修改成功!");
} catch (SQLException ex) {
//ex.printStackTrace();
JOptionPane.showMessageDialog(null, "修改信息有误!");
}
}
}
private void button7ActionPerformed(ActionEvent e) {
// TODO add your code here
String t1=textField6.getText();
if(t1.equals(""))
{
JOptionPane.showMessageDialog(null,"输入为空!");
}
else {
PreparedStatement p = null;
PreparedStatement q = null;
//预处理
String sql = "DELETE FROM class where classid=?";
String sqls="DELETE FROM student where classid=?";
try {
p = da.getCon().prepareStatement(sql);
p.setString(1, t1);
q=da.getCon().prepareStatement(sqls);
q.setString(1, t1);
int ok = p.executeUpdate();
int ok1 = q.executeUpdate();
p.close();
q.close();
JOptionPane.showMessageDialog(null, "删除成功!");
} catch (SQLException ex) {
//ex.printStackTrace();
JOptionPane.showMessageDialog(null, "删除有误!");
}
}
}
private void button8ActionPerformed(ActionEvent e) {
// TODO add your code here
textField6.setText("");
textField7.setText("");
textField8.setText("");
}
//查询学生信息
private void button9ActionPerformed(ActionEvent e){
// TODO add your code here
String t1=textField9.getText();
if(t1.equals(""))
{
JOptionPane.showMessageDialog(null,"输入为空!");
}
else {
ResultSet rs;
Statement s;
String arr[][]=new String[1][5];
int i=0;
try{
s=da.getCon().createStatement();
int a=Integer.parseInt(t1);
rs=s.executeQuery("SELECT * FROM student where studentid = "+t1);
while(rs.next()){
String studentid=rs.getString(1);
arr[i][0]=studentid;
String studentname=rs.getString(2);
arr[i][1]=studentname;
String sex=rs.getString(3);
arr[i][2]=sex;
String age=rs.getString(4);
arr[i][3]=(age);
String classid=rs.getString(5);
arr[i][4]=classid;
i++;
}
}
catch(SQLException ex){
System.out.println(ex);
}
String brr[]=new String[5];
List<String> list1=new ArrayList<String>();
list1.add("studentid");
list1.add("studentname");
list1.add("sex");
list1.add("age");
list1.add("classid");
int n=0;
for(String o:list1)
{
brr[n++]=o;
}
table1=new JTable(arr,brr);
scrollPane1.setViewportView(table1);
}
}
private void button10ActionPerformed(ActionEvent e) {
// TODO add your code here
String t1=textField10.getText();
if(t1.equals(""))
{
JOptionPane.showMessageDialog(null,"输入为空!");
}
else {
ResultSet rs;
Statement s;
String arr[][]=new String[1][2];
int i=0;
try{
s=da.getCon().createStatement();
int a=Integer.parseInt(t1);
rs=s.executeQuery("SELECT classname from class,student where studentid = "+t1+" and student.classid = class.classid");
while(rs.next()){
String classname=rs.getString(1);
arr[i][0]=classname;
i++;
}
}
catch(SQLException ex){
System.out.println(ex);
}
String brr[]=new String[1];
List<String> list1=new ArrayList<String>();
list1.add("classname");
int n=0;
for(String o:list1)
{
brr[n++]=o;
}
table2=new JTable(arr,brr);
scrollPane2.setViewportView(table2);
}
}
private void initComponents() {
// JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents
tabbedPane5 = new JTabbedPane();
panel1 = new JPanel();
label1 = new JLabel();
label2 = new JLabel();
label3 = new JLabel();
label4 = new JLabel();
label5 = new JLabel();
textField1 = new JTextField();
textField2 = new JTextField();
textField3 = new JTextField();
textField4 = new JTextField();
textField5 = new JTextField();
button1 = new JButton();
button2 = new JButton();
button3 = new JButton();
button4 = new JButton();
panel2 = new JPanel();
label6 = new JLabel();
label7 = new JLabel();
label8 = new JLabel();
textField6 = new JTextField();
textField7 = new JTextField();
textField8 = new JTextField();
button5 = new JButton();
button6 = new JButton();
button7 = new JButton();
button8 = new JButton();
panel3 = new JPanel();
label9 = new JLabel();
label10 = new JLabel();
label11 = new JLabel();
textField9 = new JTextField();
scrollPane1 = new JScrollPane();
table1 = new JTable();
scrollPane2 = new JScrollPane();
table2 = new JTable();
textField10 = new JTextField();
button9 = new JButton();
button10 = new JButton();
label19 = new JLabel();
//======== this ========
setTitle("\u65bc\u83dfwutu");
var contentPane = getContentPane();
contentPane.setLayout(null);
//======== tabbedPane5 ========
{
//======== panel1 ========
{
panel1.setLayout(null);
//---- label1 ----
label1.setText("\u5b66\u53f7");
panel1.add(label1);
label1.setBounds(65, 70, 60, label1.getPreferredSize().height);
//---- label2 ----
label2.setText("\u59d3\u540d");
panel1.add(label2);
label2.setBounds(65, 100, 75, label2.getPreferredSize().height);
//---- label3 ----
label3.setText("\u6027\u522b");
panel1.add(label3);
label3.setBounds(65, 130, 45, label3.getPreferredSize().height);
//---- label4 ----
label4.setText("\u5e74\u9f84");
panel1.add(label4);
label4.setBounds(65, 160, 45, 17);
//---- label5 ----
label5.setText("\u73ed\u7ea7\u53f7");
panel1.add(label5);
label5.setBounds(65, 195, 45, 17);
panel1.add(textField1);
textField1.setBounds(155, 70, 115, textField1.getPreferredSize().height);
panel1.add(textField2);
textField2.setBounds(155, 100, 115, 24);
panel1.add(textField3);
textField3.setBounds(155, 130, 115, 24);
panel1.add(textField4);
textField4.setBounds(155, 160, 115, 24);
panel1.add(textField5);
textField5.setBounds(155, 195, 115, 24);
//---- button1 ----
button1.setText("\u589e\u6dfb");
button1.addActionListener(e -> button1ActionPerformed(e));
panel1.add(button1);
button1.setBounds(60, 235, 85, button1.getPreferredSize().height);
//---- button2 ----
button2.setText("\u66f4\u65b0");
button2.addActionListener(e -> button2ActionPerformed(e));
panel1.add(button2);
button2.setBounds(155, 235, 85, button2.getPreferredSize().height);
//---- button3 ----
button3.setText("\u5220\u9664");
button3.addActionListener(e -> button3ActionPerformed(e));
panel1.add(button3);
button3.setBounds(250, 235, 80, button3.getPreferredSize().height);
//---- button4 ----
button4.setText("\u6e05\u7a7a");
button4.addActionListener(e -> button4ActionPerformed(e));
panel1.add(button4);
button4.setBounds(60, 280, 270, button4.getPreferredSize().height);
{
// compute preferred size
Dimension preferredSize = new Dimension();
for(int i = 0; i < panel1.getComponentCount(); i++) {
Rectangle bounds = panel1.getComponent(i).getBounds();
preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
}
Insets insets = panel1.getInsets();
preferredSize.width += insets.right;
preferredSize.height += insets.bottom;
panel1.setMinimumSize(preferredSize);
panel1.setPreferredSize(preferredSize);
}
}
tabbedPane5.addTab("\u5b66\u751f", panel1);
//======== panel2 ========
{
panel2.setLayout(null);
//---- label6 ----
label6.setText("\u73ed\u7ea7\u53f7");
panel2.add(label6);
label6.setBounds(75, 55, 65, label6.getPreferredSize().height);
//---- label7 ----
label7.setText("\u73ed\u7ea7\u540d\u79f0");
panel2.add(label7);
label7.setBounds(75, 105, 55, label7.getPreferredSize().height);
//---- label8 ----
label8.setText("\u73ed\u4e3b\u4efb\u59d3\u540d");
panel2.add(label8);
label8.setBounds(75, 150, 75, label8.getPreferredSize().height);
panel2.add(textField6);
textField6.setBounds(190, 55, 110, textField6.getPreferredSize().height);
panel2.add(textField7);
textField7.setBounds(190, 105, 110, 24);
panel2.add(textField8);
textField8.setBounds(190, 150, 110, 24);
//---- button5 ----
button5.setText("\u589e\u6dfb");
button5.addActionListener(e -> button5ActionPerformed(e));
panel2.add(button5);
button5.setBounds(50, 210, 85, button5.getPreferredSize().height);
//---- button6 ----
button6.setText("\u66f4\u65b0");
button6.addActionListener(e -> button6ActionPerformed(e));
panel2.add(button6);
button6.setBounds(155, 210, 90, button6.getPreferredSize().height);
//---- button7 ----
button7.setText("\u5220\u9664");
button7.addActionListener(e -> button7ActionPerformed(e));
panel2.add(button7);
button7.setBounds(270, 210, 95, button7.getPreferredSize().height);
//---- button8 ----
button8.setText("\u6e05\u7a7a");
button8.addActionListener(e -> button8ActionPerformed(e));
panel2.add(button8);
button8.setBounds(50, 255, 315, button8.getPreferredSize().height);
{
// compute preferred size
Dimension preferredSize = new Dimension();
for(int i = 0; i < panel2.getComponentCount(); i++) {
Rectangle bounds = panel2.getComponent(i).getBounds();
preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
}
Insets insets = panel2.getInsets();
preferredSize.width += insets.right;
preferredSize.height += insets.bottom;
panel2.setMinimumSize(preferredSize);
panel2.setPreferredSize(preferredSize);
}
}
tabbedPane5.addTab("\u73ed\u7ea7", panel2);
//======== panel3 ========
{
panel3.setLayout(null);
//---- label9 ----
label9.setText("\u67e5\u8be2\u5b66\u751f\u7684\u4fe1\u606f ");
panel3.add(label9);
label9.setBounds(0, 20, 145, label9.getPreferredSize().height);
//---- label10 ----
label10.setText("\u67e5\u8be2\u5b66\u751f\u6240\u5728\u73ed\u7ea7\u540d\u79f0\uff1a");
panel3.add(label10);
label10.setBounds(0, 190, 140, label10.getPreferredSize().height);
//---- label11 ----
label11.setText("\u8bf7\u8f93\u5165\u5b66\u53f7\uff1a");
panel3.add(label11);
label11.setBounds(0, 65, 115, label11.getPreferredSize().height);
panel3.add(textField9);
textField9.setBounds(135, 65, 115, 24);
//======== scrollPane1 ========
{
scrollPane1.setViewportView(table1);
}
panel3.add(scrollPane1);
scrollPane1.setBounds(0, 100, 415, 75);
//======== scrollPane2 ========
{
scrollPane2.setViewportView(table2);
}
panel3.add(scrollPane2);
scrollPane2.setBounds(0, 220, 410, 85);
panel3.add(textField10);
textField10.setBounds(135, 190, 115, 24);
//---- button9 ----
button9.setText("\u67e5\u8be2");
button9.addActionListener(e -> button9ActionPerformed(e));
panel3.add(button9);
button9.setBounds(295, 65, 80, button9.getPreferredSize().height);
//---- button10 ----
button10.setText("\u67e5\u8be2");
button10.addActionListener(e -> button10ActionPerformed(e));
panel3.add(button10);
button10.setBounds(295, 190, 80, button10.getPreferredSize().height);
{
// compute preferred size
Dimension preferredSize = new Dimension();
for(int i = 0; i < panel3.getComponentCount(); i++) {
Rectangle bounds = panel3.getComponent(i).getBounds();
preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
}
Insets insets = panel3.getInsets();
preferredSize.width += insets.right;
preferredSize.height += insets.bottom;
panel3.setMinimumSize(preferredSize);
panel3.setPreferredSize(preferredSize);
}
}
tabbedPane5.addTab("\u67e5\u8be2", panel3);
}
contentPane.add(tabbedPane5);
tabbedPane5.setBounds(0, 35, 415, 355);
//---- label19 ----
label19.setText("\u5b66\u6821\u4fe1\u606f\u5f55\u5165\u7cfb\u7edf");
contentPane.add(label19);
label19.setBounds(70, 5, 230, 25);
{
// compute preferred size
Dimension preferredSize = new Dimension();
for(int i = 0; i < contentPane.getComponentCount(); i++) {
Rectangle bounds = contentPane.getComponent(i).getBounds();
preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
}
Insets insets = contentPane.getInsets();
preferredSize.width += insets.right;
preferredSize.height += insets.bottom;
contentPane.setMinimumSize(preferredSize);
contentPane.setPreferredSize(preferredSize);
}
pack();
setLocationRelativeTo(getOwner());
// JFormDesigner - End of component initialization //GEN-END:initComponents
}
// JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables
private JTabbedPane tabbedPane5;
private JPanel panel1;
private JLabel label1;
private JLabel label2;
private JLabel label3;
private JLabel label4;
private JLabel label5;
private JTextField textField1;
private JTextField textField2;
private JTextField textField3;
private JTextField textField4;
private JTextField textField5;
private JButton button1;
private JButton button2;
private JButton button3;
private JButton button4;
private JPanel panel2;
private JLabel label6;
private JLabel label7;
private JLabel label8;
private JTextField textField6;
private JTextField textField7;
private JTextField textField8;
private JButton button5;
private JButton button6;
private JButton button7;
private JButton button8;
private JPanel panel3;
private JLabel label9;
private JLabel label10;
private JLabel label11;
private JTextField textField9;
private JScrollPane scrollPane1;
private JTable table1;
private JScrollPane scrollPane2;
private JTable table2;
private JTextField textField10;
private JButton button9;
private JButton button10;
private JLabel label19;
public static void main(String[] args) {
view v=new view();
}
}
该界面是用插件完成的,使用的是JFormDesigner插件