Java程序设计实验报告6_java实验报告模板

  课程实验报告

 课程名称

 《Java程序设计》

 班级

 实验日期

 姓名

 学号

 实验成绩

 实验名称

 实验6:JDBC的应用

 实

 验

 目

 的及

 要

 求

 掌握Java JDBC的使用方法。

 实

 验

 环

 境

 Win 7 或 Win 10

 Jdk1.7或以上版本

 Eclipse 4.4或以上版本

 MySQL5.7或以上版本

 实

 验

 内

 容

 利用String、GUI、JDBC等类实现一个信息管理系统(如学籍管理系统、工资管理系统等),编程实现如下功能:

 (1)在MySQL数据库中建立一个数据库、表,表中至少设置4个字段;

 (2)搭建GUI图形化操作界面;

 (3)注册相关事件,在GUI界面上实现数据的增、删、改、查功能;

 (4)系统要有一定的数据合法性的检查功能;

 (5)体现出是自己的工作量,界面至少显示作者的班级、姓名、学号。

 算

 法

 描

 述

 及

 实

 验

 步

 骤

 新建shiyan6包,新建shiyan6类,新建main函数

 新建JFrame类GUI,直接拖拽出GUI界面。在每一个需要添加操作的按钮上注册事件,然后分别实现接口事件

 建立select类实现查询全部的功能,首先注册驱动,然后建立与数据库某个表的连接,建立SQL语句查询数据库中的所有信息,将查询结果追加储存到StringBuffer类的对象中

 建立add类实现添加功能,首先注册驱动,然后建立与数据库某个表的连接,建立预处理语句并利用通配符把从键盘获取的字符串添加到指定SQL语句中,然后对数据库进行添加操作

 建立modify类实现修改功能,首先注册驱动,然后建立与数据库某个表的连接,建立预处理语句并利用通配符把从键盘获取的字符串添加到指定SQL语句中,然后对数据库进行修改操作

 同理建立delete类实现删除操作,首先注册驱动,然后建立与数据库某个表的连接,建立SQL语句利用通配符对指定学号的信息进行删除

 调

 试

 过

 程

 及

 实

 验

 结

 果

 运行界面后:

 单击“查询全部”按钮:

 添加一条信息:

 修改信息:

 删除信息:

 总

 结

 本次实验在GUI界面的基础之上对与数据库的连接和数据库的添加、删除、修改等操作进行了考察。数据库的连接有固定的语句较容易理解和掌握,但数据库的修改、添加等操作需要程序员灵活掌握编写。通过本次实验,对于GUI界面的开发和功能的实现我有了进一步的理解,相比上一个计算器的实验这次我感觉操作熟练,很有成就感。还有,以后可以对本实验添加更多的友好性交互提示信息。

 附

 录

 Shiyan6.java

 package shiyan6;

 public class shiyan6 {

 public static void main(String[] args) {

  GUI gui=new GUI();

 }

 }

 GUI.java

 package shiyan6;

 import java.awt.BorderLayout;

 import java.awt.EventQueue;

 import javax.swing.JFrame;

 import javax.swing.JPanel;

 import javax.swing.border.EmptyBorder;

 import java.awt.GridLayout;

 import javax.swing.JButton;

 import java.awt.event.ActionListener;

 import java.awt.event.ActionEvent;

 import java.awt.CardLayout;

 import java.awt.Font;

 import javax.swing.JTextArea;

 import javax.swing.JTextField;

 import javax.swing.JLabel;

 import javax.swing.JOptionPane;

 public class GUI extends JFrame {

  private JTextField textField;

  private JTextField textField_1;

  private JTextField textField_2;

  private JTextField textField_3;

  private JTextField textField_4;

  private JTextField textField_5;

  private JTextField textField_6;

  private JTextField textField_7;

  private JTextField textField_8;

  private JTextField textField_9;

  private JTextField textField_10;

  private JTextField textField_11;

  private JTextField textField_12;

  public GUI() {

  getContentPane().setLayout(null);

  Font font=new Font("宋体",Font.PLAIN,20);

  JTextArea textArea = new JTextArea();

  textArea.setBounds(15, 15, 446, 160);

  getContentPane().add(textArea);

 

  JButton btnNewButton = new JButton("查询全部");

  btnNewButton.setFont(font);

  btnNewButton.addActionListener(new ActionListener() {

  public void actionPerformed(ActionEvent arg0) {

  textArea.setText("");

  textArea.setText(""+select.selcetAll());

  JOptionPane.showMessageDialog(textArea,"已经显示全部信息");

  }

  });

  btnNewButton.setBounds(501, 95, 123, 29);

  getContentPane().add(btnNewButton);

 

  textField = new JTextField();

  textField.setBounds(96, 200, 96, 27);

  getContentPane().add(textField);

  textField.setColumns(10);

 

  JLabel lblNewLabel = new JLabel("学号:");

  lblNewLabel.setFont(font);

  lblNewLabel.setBounds(36, 203, 71, 21);

  getContentPane().add(lblNewLabel);

 

  JLabel label = new JLabel("姓名:");

  label.setFont(font);

  label.setBounds(240, 203, 63, 21);

  getContentPane().add(label);

 

  textField_1 = new JTextField();

  textField_1.setColumns(10);

  textField_1.setBounds(308, 203, 96, 27);

  getContentPane().add(textField_1);

 

  textField_2 = new JTextField();

  textField_2.setColumns(10);

  textField_2.setBounds(501, 200, 96, 27);

  getContentPane().add(textField_2);

 

  textField_3 = new JTextField();

  textField_3.setColumns(10);

  textField_3.setBounds(96, 240, 96, 27);

  getContentPane().add(textField_3);

 

  textField_4 = new JTextField();

  textField_4.setColumns(10);

  textField_4.setBounds(308, 245, 96, 27);

  getContentPane().add(textField_4);

 

  textField_5 = new JTextField();

  textField_5.setColumns(10);

  textField_5.setBounds(501, 242, 96, 27);

  getContentPane().add(textField_5);

 

  JLabel label_1 = new JLabel("性别:");

  label_1.setFont(font);

  label_1.setBounds(437, 203, 63, 21);

  getContentPane().add(label_1);

 

  JLabel label_2 = new JLabel("年龄:");

  label_2.setFont(font);

  label_2.setBounds(35, 243, 61, 21);

  getContentPane().add(label_2);

 

  JLabel label_3 = new JLabel("专业:");

  label_3.setFont(font);

  label_3.setBounds(240, 243, 63, 21);

  getContentPane().add(label_3);

 

  JLabel label_4 = new JLabel("班主任:");

  label_4.setFont(font);

  label_4.setBounds(419, 243, 81, 21);

  getContentPane().add(label_4);

 

  JButton btnNewButton_1 = new JButton("添加");

  btnNewButton_1.setFont(font);

  btnNewButton_1.addActionListener(new ActionListener() {

  public void actionPerformed(ActionEvent e) {

  String number=new String(textField.getText());

  String name=new String(textField_1.getText());

  String sex=new String(textField_2.getText());

  String age=new String(textField_3.getText());

  String zhuanye=new String(textField_4.getText());

  String teacher=new String(textField_5.getText());

 

  JOptionPane.showMessageDialog(getContentPane(),add.addRecord(number, name, sex, age, zhuanye, teacher));

 

  textField.setText("");

  textField_1.setText("");

  textField_2.setText("");

  textField_3.setText("");

  textField_4.setText("");

  textField_5.setText("");

  }

 

  });

  btnNewButton_1.setBounds(256, 287, 123, 29);

  getContentPane().add(btnNewButton_1);

 

  textField_6 = new JTextField();

  textField_6.setBounds(96, 333, 96, 27);

  getContentPane().add(textField_6);

  textField_6.setColumns(10);

 

  textField_7 = new JTextField();

  textField_7.setColumns(10);

  textField_7.setBounds(308, 333, 96, 27);

  getContentPane().add(textField_7);

 

  textField_8 = new JTextField();

  textField_8.setColumns(10);

  textField_8.setBounds(501, 333, 96, 27);

  getContentPane().add(textField_8);

 

  textField_9 = new JTextField();

  textField_9.setColumns(10);

  textField_9.setBounds(96, 375, 96, 27);

  getContentPane().add(textField_9);

 

  textField_10 = new JTextField();

  textField_10.setColumns(10);

  textField_10.setBounds(308, 375, 96, 27);

  getContentPane().add(textField_10);

 

  textField_11 = new JTextField();

  textField_11.setColumns(10);

  textField_11.setBounds(501, 375, 96, 27);

  getContentPane().add(textField_11);

 

  JLabel label_5 = new JLabel("学号:");

  label_5.setFont(font);

  label_5.setBounds(36, 336, 60, 21);

  getContentPane().add(label_5);

 

  JLabel label_6 = new JLabel("年龄:");

  label_6.setFont(font);

  label_6.setBounds(36, 378, 60, 21);

  getContentPane().add(label_6);

 

  JLabel label_7 = new JLabel("姓名:");

  label_7.setFont(font);

  label_7.setBounds(227, 336, 67, 21);

  getContentPane().add(label_7);

 

  JLabel label_8 = new JLabel("性别:");

  label_8.setFont(font);

  label_8.setBounds(432, 336, 68, 21);

  getContentPane().add(label_8);

 

  JLabel label_9 = new JLabel("专业:");

  label_9.setFont(font);

  label_9.setBounds(227, 378, 76, 21);

  getContentPane().add(label_9);

 

  JLabel label_10 = new JLabel("班主任:");

  label_10.setFont(font);

  label_10.setBounds(431, 378, 81, 21);

  getContentPane().add(label_10);

 

  JButton btnNewButton_2 = new JButton("修改");

  btnNewButton_2.setFont(font);

  btnNewButton_2.addActionListener(new ActionListener() {

  public void actionPerformed(ActionEvent e) {

  String number=new String(textField_6.getText());

  String name=new String(textField_7.getText());

  String sex=new String(textField_8.getText());

  String age=new String(textField_9.getText());

  String zhuanye=new String(textField_10.getText());

  String teacher=new String(textField_11.getText());

 

  JOptionPane.showMessageDialog(getContentPane(),modify.modifyRecord(number, name, sex, age, zhuanye, teacher));

 

  textField_6.setText("");

  textField_7.setText("");

  textField_8.setText("");

  textField_9.setText("");

  textField_10.setText("");

  textField_11.setText("");

  }

  });

  btnNewButton_2.setBounds(256, 429, 123, 29);

  getContentPane().add(btnNewButton_2);

 

  JLabel lblNewLabel_1 = new JLabel("学号:");

  lblNewLabel_1.setFont(font);

  lblNewLabel_1.setBounds(96, 493, 60, 21);

  getContentPane().add(lblNewLabel_1);

 

  textField_12 = new JTextField();

  textField_12.setBounds(166, 489, 96, 27);

  getContentPane().add(textField_12);

  textField_12.setColumns(10);

 

  JButton btnNewButton_3 = new JButton("删除");

  btnNewButton_3.setFont(font);

  btnNewButton_3.addActionListener(new ActionListener() {

  public void actionPerformed(ActionEvent e) {

  String s=textField_12.getText();

  if(s.equals(""))

  JOptionPane.showMessageDialog(getContentPane(), "请输入学号");

  else

  {

  delete.deleteRecord(s);

  JOptionPane.showMessageDialog(getContentPane(),"删除成功");

  textField_12.setText("");

  }

  }

  });

  btnNewButton_3.setBounds(364, 488, 123, 29);

  getContentPane().add(btnNewButton_3);

 

  JLabel label_11 = new JLabel("软件171 201707152 杜江");

  label_11.setFont(font);

  label_11.setBounds(126, 559, 319, 29);

  getContentPane().add(label_11);

 

  setVisible(true);

  setBounds(100,100,700,700);

  }

  }

 Add.java

 package shiyan6;

 import java.sql.*;

 public class add {

 static String addRecord(String number,String name,String sex,String age,String zhuanye,String teacher)

 {

  String ss=null;

 

  try {

  Class.forName("com.mysql.jdbc.Driver");

  }

  catch(ClassNotFoundException e){

  System.out.println(e);

  }

 

  try {

  String database="factory";

  String table="Student";

  String url="jdbc:mysql://localhost:3306/"+database;

  String id="root";

  String password="1234";

  Connection con=DriverManager.getConnection(url, id, password);

  String s="INSERT INTO "+table+" VALUES(?,?,?,?,?,?)";

  PreparedStatement sql=con.prepareStatement(s);

  if(number.equals(""))

  {

  ss="学号不能为空!!";

  }

  else

  {

  sql.setString(1, number);

  sql.setString(2, name);

  sql.setString(3, sex);

  sql.setInt(4, Integer.parseInt(age));

  sql.setString(5, zhuanye);

  sql.setString(6, teacher);

  sql.executeUpdate();

  ss="添加成功!";

  }

  con.close();

  }

  catch(SQLException e) {

  System.out.println(e);

  }

 

  return ss;

 }

 }

 Select.java

 package shiyan6;

 import java.sql.*;

 public class select {

 static StringBuffer selcetAll()

 {

  StringBuffer s=new StringBuffer();

  try {

  Class.forName("com.mysql.jdbc.Driver");

  }

  catch(ClassNotFoundException e){

  System.out.println(e);

  }

 

  try {

  String database="factory";

  String table="Student";

  String url="jdbc:mysql://localhost:3306/"+database;

  String id="root";

  String password="1234";

  Connection con=DriverManager.getConnection(url,id,password);

  Statement sql=con.createStatement();

  ResultSet rs=sql.executeQuery("SELECT * FROM "+table);

  while(rs.next())

  {

  s.append(rs.getString(1)+" ");

  s.append(rs.getString(2)+" ");

  s.append(rs.getString(3)+" ");

  s.append(rs.getString(4)+" ");

  s.append(rs.getString(5)+" ");

  s.append(rs.getString(6)+"\n");

  }

  con.close();

  }

  catch(SQLException e){

  System.out.println(e);

  }

  return s;

 }

 }

 Delete.java

 package shiyan6;

 import java.sql.*;

 import javax.swing.JOptionPane;

 public class delete {

 static void deleteRecord(String number)

 {

  try {

  Class.forName("com.mysql.jdbc.Driver");

  }

  catch(ClassNotFoundException e) {

  System.out.println(e);

  }

 

  try {

  String database="factory";

  String table="Student";

  String url="jdbc:mysql://localhost:3306/"+database;

  String id="root";

  String password="1234";

  Connection co=DriverManager.getConnection(url, id, password);

  PreparedStatement sql=co.prepareStatement("DELETE FROM "+table+" WHERE 学号=?;");

  sql.setString(1, number);

  sql.executeUpdate();

  co.close();

 

  }

  catch(SQLException e){

  System.out.println(e);

  }

 }

 }

 Modify.java

 package shiyan6;

 import java.sql.Connection;

 import java.sql.DriverManager;

 import java.sql.PreparedStatement;

 import java.sql.SQLException;

 public class modify {

 static String modifyRecord(String number,String name,String sex,String age,String zhuanye,String teacher)

 {

  String ss=null;

  try {

  Class.forName("com.mysql.jdbc.Driver");

  }

  catch(ClassNotFoundException e){

  System.out.println(e);

  }

 

  try {

  String database="factory";

  String table="Student";

  String url="jdbc:mysql://localhost:3306/"+database;

  String id="root";

  String password="1234";

  Connection con=DriverManager.getConnection(url, id, password);

  PreparedStatement sql=con.prepareStatement("UPDATE "+table+" SET 姓名=?,性别=?,年龄=?,专业=?,班主任=? WHERE 学号=?;");

  if(number.equals(""))

  {

  ss="学号不能为空!!";

  }

  else

  {

  sql.setString(1, name);

  sql.setString(2, sex);

  sql.setInt(3, Integer.parseInt(age));

  sql.setString(4, zhuanye);

  sql.setString(5,teacher);

  sql.setString(6, number);

  sql.executeUpdate();

  ss="修改成功!";

  }

  con.close();

  }

  catch(SQLException e) {

  System.out.println(e);

  }

 

 

 

 

 

  return ss;

 }

 }

 *注意:

 --雷同无效,禁止抄袭;

 --A4纸单面打印,左侧装订,2个钉;

 --以班为单位,各班负责人收齐并按学号由小到大顺序排序后上交;

推荐访问:程序设计 实验 报告 Java