实验四 Java数据库程序设计.docx
《实验四 Java数据库程序设计.docx》由会员分享,可在线阅读,更多相关《实验四 Java数据库程序设计.docx(21页珍藏版)》请在冰豆网上搜索。
实验四Java数据库程序设计
实验四数据库程序设计
【实验目的】
一、掌握JAVA链接数据库的方法;
二、掌握JAVA操作数据库的方法;
三、掌握JAVA的界面设计。
【实验内容】
实现一个简单学生信息管理系统。
使用数据库存储信息(MySQL),并设计界面。
【实验结果】
//数据库链接操作管理类
importjava.sql.*;
importjavax.swing.*;
publicclassDataManager{
privateConnectionconnection;
privateStatementstatement;
privateResultSetresultSet;
publicstaticfinalStringDBUSER="root";
publicstaticfinalStringDBPASSWORD="root";
publicStringsID;
publicStringsName;
publicStringsAge;
publicdoubleChinese;
publicdoubleEnglish;
publicdoubleMath;
publicvoidConnect(){
try{
Class.forName("org.gjt.mm.mysql.Driver");
Stringurl="jdbc:
mysql:
//localhost:
3306/mysql";
connection=DriverManager.getConnection(url,DBUSER,DBPASSWORD);
statement=connection.createStatement();
Strings="createtableIFNOTEXISTS"+
"Student(sIDchar(10)notnull,sNamechar(20)notnull,sAgechar(10)notnull,"+
"Chinesedoublenotnull,Englishdoublenotnull,Mathdoublenotnull,primarykey(sID))";
statement.execute(s);
}catch(Exceptione){
//TODO:
handleexception
}
}
publicvoidadd(StringsID,StringsName,StringsAge,doubleChinese,doubleEnglish,doubleMath){
this.Connect();
Strings="insertintoStudent(sID,sName,sAge,Chinese,English,Math)"+
"values('"+sID+"','"+sName+"','"+sAge+"',"+Chinese+","+English+","+Math+")";
try{
statement.execute(s);
}catch(Exceptione){
//TODO:
handleexception
}
}
publicvoidselectbyId(StringsID){
this.Connect();
Strings="select*fromStudentwheresID='"+sID+"'";
try{
resultSet=statement.executeQuery(s);
intcount=0;
while(resultSet.next()){
this.sID=resultSet.getString("sID");
this.sName=resultSet.getString("sName");
this.sAge=resultSet.getString("sAge");
this.Chinese=resultSet.getDouble("Chinese");
this.English=resultSet.getDouble("English");
this.Math=resultSet.getDouble("Math");
count++;
}
if(count==0){
this.sID=null;
this.sName=null;
this.sAge=null;
this.Chinese=0;
this.English=0;
this.Math=0;
}
}catch(Exceptione){
}
}
publicvoidselectbyName(StringsName){
this.Connect();
Strings="select*fromStudentwheresID='"+sName+"'";
try{
resultSet=statement.executeQuery(s);
intcount=0;
while(resultSet.next()){
this.sID=resultSet.getString("sID");
this.sName=resultSet.getString("sName");
this.sAge=resultSet.getString("sAge");
this.Chinese=resultSet.getDouble("Chinese");
this.English=resultSet.getDouble("English");
this.Math=resultSet.getDouble("Math");
count++;
}
if(count==0){
this.sID=null;
this.sName=null;
this.sAge=null;
this.Chinese=-1;
this.English=-1;
this.Math=-1;
JOptionPane.showMessageDialog(null,"查询失败,没有找到");
}
}catch(Exceptione){
}
}
publicvoidupdate(StringsID,StringsName,StringsAge,doubleChinese,doubleEnglish,doubleMath){
this.Connect();
Strings="updateStudentsetsID='"+sID+"',sName='"+sName+"',sAge='"+sAge+
"',Chinese="+Chinese+",English="+English+",Math="+Math+"wheresID='"+sID+"'";
try{
statement.execute(s);
}catch(Exceptione){
}
}
publicvoiddelete(StringsID){
this.Connect();
Strings="deletefromStudentwheresID='"+sID+"'";
try{
statement.execute(s);
}catch(Exceptione){
}
}
publicvoiddisplay(){
this.Connect();
Strings="select*fromStudent";
try{
statement.execute(s);
}catch(Exceptione){
}
}
}
//添加学生信息面板类
importjava.awt.Container;
importjava.awt.Toolkit;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JTextField;
publicclassAddInfo{
privateJFramejFrame=newJFrame("请输入学生信息:
");
privateJLabelJLsID=newJLabel("学号:
");
privateJLabelJLsName=newJLabel("姓名:
");
privateJLabelJLsAge=newJLabel("年龄:
");
privateJLabelJLChinese=newJLabel("语文成绩:
");
privateJLabelJLEnglish=newJLabel("英语成绩:
");
privateJLabelJLMath=newJLabel("数学成绩:
");
privateJTextFieldJTsID=newJTextField(10);
privateJTextFieldJTsName=newJTextField(10);
privateJTextFieldJTsAge=newJTextField(10);
privateJTextFieldJTChinese=newJTextField(10);
privateJTextFieldJTEnglish=newJTextField(10);
privateJTextFieldJTMath=newJTextField(10);
privateJButtonJBIn=newJButton("添加");
privateJButtonJBOut=newJButton("退出");
privateContainercontainer=jFrame.getContentPane();
privateDataManagerdataManager=newDataManager();
publicAddInfo(){
container.setLayout(null);
container.add(JLsName);
container.add(JLsID);
container.add(JLsAge);
container.add(JLChinese);
container.add(JLEnglish);
container.add(JLMath);
container.add(JTsName);
container.add(JTsID);
container.add(JTsAge);
container.add(JTChinese);
container.add(JTEnglish);
container.add(JTMath);
container.add(JBIn);
container.add(JBOut);
JLsName.setBounds(30,20,50,20);
JTsName.setBounds(100,20,100,20);
JLsID.setBounds(30,50,50,20);
JTsID.setBounds(100,50,100,20);
JLsAge.setBounds(30,80,50,20);
JTsAge.setBounds(100,80,100,20);
JLChinese.setBounds(30,110,70,20);
JTChinese.setBounds(100,110,100,20);
JLEnglish.setBounds(30,140,70,20);
JTEnglish.setBounds(100,140,100,20);
JLMath.setBounds(30,170,70,20);
JTMath.setBounds(100,170,100,20);
JBIn.setBounds(50,220,60,25);
JBOut.setBounds(130,220,60,25);
Toolkittoolkit=Toolkit.getDefaultToolkit();
doublewidth=toolkit.getScreenSize().getWidth();
doubleheight=toolkit.getScreenSize().getHeight();
jFrame.setLocation((int)(width-jFrame.getWidth())*2/5,(int)(height-jFrame.getHeight())/3);
jFrame.setSize(250,300);
jFrame.setResizable(false);
jFrame.setVisible(true);
JBIn.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEventarg0){
dataManager.selectbyId(JTsID.getText());
if(dataManager.sID==null)
{
dataManager.add(JTsID.getText(),JTsName.getText(),JTsAge.getText(),
Double.parseDouble(JTChinese.getText()),Double.parseDouble(JTEnglish.getText()),Double.parseDouble(JTMath.getText()));
JOptionPane.showMessageDialog(null,"添加成功");
}else{
JOptionPane.showMessageDialog(null,"该学生已经存在,请重新输入");
}
}
});
JBOut.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEventarg0){
jFrame.dispose();
}
});
}
}
//删除学生信息面板类
importjava.awt.Container;
importjava.awt.Toolkit;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JTextField;
publicclassDeleteInfo{
privateJFramejFrame=newJFrame("删除学生信息:
");
privateJLabelJLDelete=newJLabel("输入学号:
");
privateJTextFieldJTDelete=newJTextField(10);
privateJButtonJBDelete=newJButton("删除");
privateJButtonJBOut=newJButton("退出");
privateContainercontainer=jFrame.getContentPane();
privateDataManagerdataManager=newDataManager();
publicDeleteInfo(){
container.setLayout(null);
container.add(JLDelete);
container.add(JTDelete);
container.add(JBDelete);
container.add(JBOut);
JLDelete.setBounds(80,30,70,20);
JTDelete.setBounds(150,30,100,20);
JBDelete.setBounds(270,26,60,25);
JBOut.setBounds(270,60,60,25);
Toolkittoolkit=Toolkit.getDefaultToolkit();
doublewidth=toolkit.getScreenSize().getWidth();
doubleheight=toolkit.getScreenSize().getHeight();
jFrame.setLocation((int)(width-jFrame.getWidth())*2/5,(int)(height-jFrame.getHeight())/3);
jFrame.setSize(420,150);
jFrame.setResizable(false);
jFrame.setVisible(true);
JBDelete.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEventarg0){
//TODOAuto-generatedmethodstub
dataManager.selectbyId(JTDelete.getText());
if(dataManager.sID==null)
JOptionPane.showMessageDialog(null,"不存在该学生信息,删除失败");
else{
dataManager.delete(JTDelete.getText());
JOptionPane.showMessageDialog(null,"删除成功");
}
}
});
JBOut.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEventarg0){
//TODOAuto-generatedmethodstub
jFrame.dispose();
}
});
}
}
//查找学生信息面板类
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclassSelectInfo{
privateJFramejFrame=newJFrame("查询学生信息:
");
privateJLabelJLSelect=newJLabel("输入学号:
");
privateJLabelJLsID=newJLabel("学号:
");
privateJLabelJLsName=newJLabel("姓名:
");
privateJLabelJLsAge=newJLabel("年龄:
");
privateJLabelJLChinese=newJLabel("语文成绩:
");
privateJLabelJLEnglish=newJLabel("英语成绩:
");
privateJLabelJLMath=newJLabel("数学成绩:
");
privateJTextFieldJTSelect=newJTextField(10);
privateJTextFieldJTsID=newJTextField(10);
privateJTextFieldJTsName=newJTextField(10);
privateJTextFieldJTsAge=newJTextField(10);
privateJTextFieldJTChinese=newJTextField(10);
privateJTextFieldJTEnglish=newJTextField(10);
privateJTextFieldJTMath=newJTextField(10);
privateJButtonJBSelect=newJButton("查询");
privateJButtonJBOut=newJButton("退出");
privateContainercontainer=jFrame.getContentPane();
privateDataManagerdataManager=newDataManager();
publicSelectInfo(){
container.setLayout(null);
container.add(JLSelect);
container.add(JLsName);
container.add(JLsID);
container.add(JLsAge);
container.add(JLChinese);
container.add(JLEnglish);
co