java连接数据库课程设计.docx
- 文档编号:5068610
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:45
- 大小:356.42KB
java连接数据库课程设计.docx
《java连接数据库课程设计.docx》由会员分享,可在线阅读,更多相关《java连接数据库课程设计.docx(45页珍藏版)》请在冰豆网上搜索。
java连接数据库课程设计
****大学
学生实验报告
实验课程名称J2EE及JAVA程序设计
开课实验室DS1501
学院软件学院年级2012专业班1班
学生姓名学号
开课时间2013至2014学年第2学期
总成绩
教师签名
软件学院制
《J2EE及JAVA程序设计》实验报告
开课实验室:
DS15012014年6月22日
学院
软件学院
年级、专业、班
12级1班
姓名
成绩
课程
名称
J2EE及JAVA程序设计
实验项目
名称
实验6-8:
图形界面编程、抽象类与接口、数据库。
指导教师
教师评语
教师签名:
2014年月日
一、实验目的
实验六:
基本掌握使用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.*;
importjava。
sql.*;
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)
{
//利用消息对话框提示查询失败
JOptionPane.showMessageDialog(this,"登录失败!
”);
}
}
elseif(e1。
getSource()==jButton2)
{
System。
exit(0);
}
}
}
主面板:
importjava。
awt。
*;
importjava.awt.event。
*;
importjavax.swing。
*;
//创建主界面类
publicclassMainFrameextendsJFrameimplementsActionListener
{
//创建内容面板
JPanelcontentPane;
JMenuBarjMenuBar1=newJMenuBar();
JMenujMenuFile=newJMenu(”文件");
JMenuItemjMenuFileExit=newJMenuItem("退出”);
JMenujMenu1=newJMenu("更新”);
JMenuItemjMenuItem1=newJMenuItem("添加学生信息”);
JMenuItemjMenuItem2=newJMenuItem("按学号删除”);
JMenuItemjMenuItem5=newJMenuItem(”对全体操作”);
JMenujMenu2=newJMenu(”查询”);
JMenuItemjMenuItem3=newJMenuItem(”按姓名查询");
JMenuItemjMenuItem4=newJMenuItem(”按学号查询");
JMenujMenuHelp=newJMenu(”帮助");
JMenuItemjMenuHelpAbout=newJMenuItem(”关于”);
JLabeljLabel1=newJLabel("欢迎使用学生信息管理系统”);
JLabeljLabel2=newJLabel(”By:
");
//构造方法,创建对象时自动调用
publicMainFrame()
{
try{
//关闭框架窗口时的默认事件方法
setDefaultCloseOperation(EXIT_ON_CLOSE);
//调用初始化方法
jbInit();
}
catch(Exceptionexception){
exception.printStackTrace();
}
}
//界面初始化方法
privatevoidjbInit()throwsException
{
//创建内容面板和其布局
contentPane=(JPanel)getContentPane();
contentPane。
setLayout(null);
//框架的大小和其标题
setSize(newDimension(400,450));
setTitle("学生信息管理系统”);
//添加事件监听器
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);
//添加标签到内容面板
contentPane.add(jLabel1);
contentPane.add(jLabel2);
//设置标签组件的大小和字体
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。
remove(this。
getContentPane());
this。
setContentPane(delete);
//令界面可见
this.setVisible(true);
}
//点击“查询”菜单下的“按姓名查询”菜单项
if(actionEvent。
getSource()==jMenuItem3)
{
//创建“按姓名查询”面板对象
InquireOnNamePanelonName=newInquireOnNamePanel();
//移除主界面上原有的内容
this。
remove(this。
getContentPane());
this。
setContentPane(onName);
//令界面可见
this.setVisible(true);
}
//点击“查询”菜单下的“按学号查询”菜单项
if(actionEvent。
getSource()==jMenuItem4)
{
//创建“按学号查询”面板对象
InquireOnXHPanelonXH=newInquireOnXHPanel();
//移除主界面上原有的内容
this.remove(this。
getContentPane());
this。
setContentPane(onXH);
//令界面可见
this.setVisible(true);
}
//点击“更新”菜单下的“对全体操作"菜单项
if(actionEvent.getSource()==jMenuItem5)
{
//创建“对全体进行操作"面板对象
onAllonA=newonAll();
//移除主界面上原有的内容
this.remove(this。
getContentPane());
this.setContentPane(onA);
//令界面可见
this.setVisible(true);
}
}
}
添加:
importjava.awt.*;
importjava。
sql.*;
importjavax。
swing.*;
importjava.awt。
event.*;
//创建“添加学生面板”类
publicclassAddStudentPanelextendsJPanelimplementsActionListener
{
//声明连接数据库对象
Connectioncon;
//声明SQL语句对象
Statementst;
//创建组件对象:
标签、文本行、单选
JLabeljLabel1=newJLabel(”学号”);
JLabeljLabel2=newJLabel(”姓名”);
JLabeljLabel3=newJLabel(”性别");
JLabeljLabel4=newJLabel("出生日期");
JLabeljLabel5=newJLabel(”籍贯”);
JLabeljLabel6=newJLabel(”注意:
出生日期格式为YYYY/MM/DD");
JLabeljLabel7=newJLabel("班号");
JLabeljLabel8=newJLabel("系号”);
JTextFieldjTextField1=newJTextField();
JTextFieldjTextField2=newJTextField();
JTextFieldjTextField3=newJTextField();
JTextFieldjTextField4=newJTextField();
JTextFieldjTextField5=newJTextField();
JTextFieldjTextField6=newJTextField();
JRadioButtonjRadioButton1=newJRadioButton(”男”);
JRadioButtonjRadioButton2=newJRadioButton("女");
ButtonGroupbuttonGroup1=newButtonGroup();
JButtonjButton1=newJButton("存入数据库”);
//构造方法
publicAddStudentPanel()
{
try{
//调用初始化方法
jbInit();
}
catch(Exceptionexception){
exception。
printStackTrace();
}
}
//界面初始化方法
privatevoidjbInit()throwsException
{
//连接数据库
con=DBConnect.getConn();
st=con。
createStatement();
//框架的布局
this.setLayout(null);
//设置各组件的大小
jLabel1.setBounds(newRectangle(21,17,64,24));
jLabel2.setBounds(newRectangle(21,51,53,22));
jLabel3。
setBounds(newRectangle(21,86,61,27))
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 连接 数据库 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)