java连接数据库课程设计Word格式.docx
《java连接数据库课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《java连接数据库课程设计Word格式.docx(44页珍藏版)》请在冰点文库上搜索。
实验六:
基本掌握使用JAVA来完成基本的图形界面等调试与编程,实现理论课上讲述的内容PPT内容的验证。
实验七:
掌握抽象类与接口的概念,验证代码,能写小程序。
实验八:
掌握利用JAVA完成数据库课程中的基本数据记录操作。
二、实验内容
实验六内容:
调试,验证,课件ppt内容,课后布置的作业(实验报告内容中可不写)。
实验七内容:
完成教材12章关于抽象类与接口方面的范例内容的代码验证、后面作业的代码设计(实验报告中可不写)。
实验八内容:
(二选一,提交该部分实验报告内容)
1)利用图形界面编程,实现C/S模式的数据库访问操作。
完成SQLSERVER或MYSQL数据库管理系统的安装,配置,JAVA数据库访问环境的配置;
完成数据库表的建立,记录插入等;
建立用户表,包含用户名、密码字段;
利用JAVA实现图形界面,用户登录验证,进入软件运行后,针对某表记录的增、删、改、查操作。
2)完成JAVAWEB应用开发,实现B/S模式的数据库访问操作。
完成SQLSERVER或MYSQL数据库管理系统的安装,配置,JAVA数据库访问环境的配置,Tomcat服务器安装配置;
利用JAVA实现WEB应用,通过浏览器访问WEB进行用户登录验证,进入WEB应用运行后,针对某表记录的增、删、改、查操作。
三、使用仪器、材料
JAVASEJDK1.7.55
Tomcat
Mysql/Sqlserver
四、实验过程原始记录(数据、图表、计算等):
学生基本信息表
班级信息表
院系信息表
用户表
学生综合信息视图
用户登录
进入主界面
点击“更新”菜单中的“对全体操作”选项,然后点击“查询”按钮
点击“更新”菜单中的“添加”选项
查询发现新增信息已经插入至学生基本信息表中
点击“查询”中的“按姓名查询”选项,可根据视图查询学生包括系主任、班主任在内的的综合信息
同理,点击“查询”中的“按学号查询”选项,也可根据视图查询上述信息
点击“更新”菜单中的“对全体操作”选项,在所得信息表对信息中进行修改,然后点击“修改”按钮,可对学生基本信息进行修改
点击“更新”菜单中的“对全体操作”选项,然后点击“删除”按钮,可删除某学生基本信息
同于重名学生的存在,“查询”菜单中的“按姓名查询”可能会出现多条结果
点击“更新”菜单中的“按学号删除”选项,输入上述所查得的两个重名学生中其一个的学号,可将其删除
连接数据库:
importjava.sql.*;
//创建数据库连接类
publicclassDBConnect
{
//静态方法提高数据库的连接效率
publicstaticConnectiongetConn()throwsException
{
//加载JDBC驱动
Class.forName("
sun.jdbc.odbc.JdbcOdbcDriver"
);
//以系统用户身份,连接数据库StudentManager
returnDriverManager.getConnection("
jdbc:
odbc:
StudentManager"
"
sh"
123"
}
}
登录:
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
//创建主界面类
publicclassLoginextendsJFrameimplementsActionListener
//声明连接数据库对象
Connectioncon;
//声明SQL语句对象
Statementst;
//创建内容面板
JPanelcontentPane;
JLabeljLabel1=newJLabel("
用户名:
"
JTextFieldjTextField1=newJTextField();
JLabeljLabel2=newJLabel("
密码:
JTextFieldjTextField2=newJPasswordField(20);
JButtonjButton1=newJButton("
登录"
JButtonjButton2=newJButton("
取消"
//构造方法,创建对象时自动调用
publicLogin()
try{
//连接数据库
con=DBConnect.getConn();
st=con.createStatement();
//关闭框架窗口时的默认事件方法
setDefaultCloseOperation(EXIT_ON_CLOSE);
//调用初始化方法
jbInit();
}
catch(Exceptionexception){
exception.printStackTrace();
//界面初始化方法
privatevoidjbInit()throwsException
//创建内容面板和其布局
contentPane=(JPanel)getContentPane();
contentPane.setLayout(null);
//框架的大小和其标题
setSize(newDimension(360,270));
setTitle("
学生信息管理系统"
contentPane.add(jLabel1);
contentPane.add(jLabel2);
contentPane.add(jButton1);
contentPane.add(jButton2);
contentPane.add(jTextField1);
contentPane.add(jTextField2);
jLabel1.setBounds(newRectangle(27,9,81,32));
jLabel2.setBounds(newRectangle(27,72,81,32));
jTextField1.setBounds(newRectangle(81,9,222,32));
jTextField2.setBounds(newRectangle(81,72,222,32));
jButton1.setBounds(newRectangle(18,162,145,32));
jButton2.setBounds(newRectangle(166,162,145,32));
//添加事件监听器
jButton1.addActionListener(this);
jButton2.addActionListener(this);
//菜单事件的处理方法
publicvoidactionPerformed(ActionEvente1)
if(e1.getSource()==jButton1)
{
//获取用户输入的用户名和密码
StringUer=jTextField1.getText();
StringPas=jTextField2.getText();
try
{
ResultSetrs=st.executeQuery("
selectUName,UPassfromUserswhereUName='
+Uer+"
'
while(rs.next()){
Stringi=rs.getString("
UName"
Stringp=rs.getString("
UPass"
if(i.equals(Uer)&
&
p.equals(Pas))
setVisible(false);
MainFrameadd=newMainFrame();
//令主界面窗体居中
DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();
DimensionframeSize=add.getSize();
if(frameSize.height>
screenSize.height)
frameSize.height=screenSize.height;
if(frameSize.width>
screenSize.width)
frameSize.width=screenSize.width;
add.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
add.setVisible(true);
break;
else
JOptionPane.showMessageDialog(this,"
用户名或密码错误!
catch(Exceptionex)
//利用消息对话框提示查询失败
登录失败!
elseif(e1.getSource()==jButton2)
System.exit(0);
主面板:
publicclassMainFrameextendsJFrameimplementsActionListener
JMenuBarjMenuBar1=newJMenuBar();
JMenujMenuFile=newJMenu("
文件"
JMenuItemjMenuFileExit=newJMenuItem("
退出"
JMenujMenu1=newJMenu("
更新"
JMenuItemjMenuItem1=newJMenuItem("
添加学生信息"
JMenuItemjMenuItem2=newJMenuItem("
按学号删除"
JMenuItemjMenuItem5=newJMenuItem("
对全体操作"
JMenujMenu2=newJMenu("
查询"
JMenuItemjMenuItem3=newJMenuItem("
按姓名查询"
JMenuItemjMenuItem4=newJMenuItem("
按学号查询"
JMenujMenuHelp=newJMenu("
帮助"
JMenuItemjMenuHelpAbout=newJMenuItem("
关于"
欢迎使用学生信息管理系统"
By:
"
publicMainFrame()
setSize(newDimension(400,450));
jMenuFileExit.addActionListener(this);
jMenuHelpAbout.addActionListener(this);
jMenuItem1.addActionListener(this);
jMenuItem2.addActionListener(this);
jMenuItem3.addActionListener(this);
jMenuItem4.addActionListener(this);
jMenuItem5.addActionListener(this);
//添加菜单条
setJMenuBar(jMenuBar1);
//添加菜单组件到菜单条
jMenuBar1.add(jMenuFile);
jMenuBar1.add(jMenu1);
jMenuBar1.add(jMenu2);
jMenuBar1.add(jMenuFileExit);
jMenuBar1.add(jMenuHelp);
//添加菜单项组件到菜单组件
jMenuFile.add(jMenuFileExit);
jMenuHelp.add(jMenuHelpAbout);
jMenu1.add(jMenuItem1);
jMenu1.add(jMenuItem2);
jMenu1.add(jMenuItem5);
jMenu2.add(jMenuItem3);
jMenu2.add(jMenuItem4);
//添加标签到内容面板
//设置标签组件的大小和字体
jLabel1.setFont(newjava.awt.Font("
宋体"
Font.BOLD,22));
jLabel1.setBounds(newRectangle(45,135,279,55));
jLabel2.setFont(newjava.awt.Font("
Font.BOLD,16));
jLabel2.setBounds(newRectangle(211,350,200,35));
publicvoidactionPerformed(ActionEventactionEvent)
//点击“文件”菜单下的“退出”菜单项
if(actionEvent.getSource()==jMenuFileExit)
System.exit(0);
//点击“更新”菜单下的“添加”菜单项
if(actionEvent.getSource()==jMenuItem1)
//创建添加学生面板对象
AddStudentPaneladd=newAddStudentPanel();
//移除主界面上原有的内容
this.remove(this.getContentPane());
this.setContentPane(add);
//令界面可见
this.setVisible(true);
//点击“更新”菜单下的“按学号删除”菜单项
if(actionEvent.getSource()==jMenuItem2)
//创建删除学生面板对象
DeleteStudentPaneldelete=newDeleteStudentPanel();
this.setContentPane(delete);
//点击“查询”菜单下的“按姓名查询”菜单项
if(actionEvent.getSource()==jMenuItem3)
//创建“按姓名查询”面板对象
InquireOnNamePanelonName=newInquireOnNamePanel();
this.setContentPane(onName);
//点击“查询”菜单下的“按学号查询”菜单项
if(actionEvent.getSource()==jMenuItem4)
//创建“按学号查询”面板对象
InquireOnXHPanelonXH=newInquireOnXHPanel();
this.setContentPane(onXH);
//点击“更新”菜单下的“对全体操作”菜单项
if(actionEvent.getSource()==jMenuItem5)
//创建“对全体进行操作”面板对象
onAllonA=newonAll();
this.setContentPane(onA);
}
添加:
//创建“添加学生面板”类
publicclassAddStudentPanelextendsJPanelimplementsActionListener
//创建组件对象:
标签、文本行、单选
学号"
姓名"
JLabeljLabel3=newJLabel("
性别"
JLabeljLabel4=newJLabel("
出生日期"
JLabeljLabel5=newJLabel("
籍贯"
JLabeljLabel6=newJLabel("
注意:
出生日期格式为YYYY/MM/DD"
JLabeljLabel7=newJLabel("
班号"
JLabeljLabel8=newJLabel("
系号"
JTextFieldjTextField2=newJTextField();
JTextFieldjTextField3=newJTextField();
JTextFieldjTextField4=newJTextField();
JTextFieldjTextField5=newJTextField();
JTextFieldjTextField6=newJTextField();
JRadioButtonjRadioButton1=newJRadioButton("
男"
JRadioButtonjRadioButton2=newJRadioButton("
女"
ButtonGroupbuttonGroup1=newButtonGroup();
存入数据库"
//构造方法
publicAddStudentPanel()
//连接数据库
//框架的布局
this.setLayout(null);
//设置各组件的大小
jLabel1.setBounds(newRectangle(21,17,64,24));
jLabel2.setBounds(newRectangle(21,51,53,22));
jLabel3.setBounds(newRectangle(21,86,61,27))