Lab 03 Eclipse DBA 1.docx
- 文档编号:28714423
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:28
- 大小:2.13MB
Lab 03 Eclipse DBA 1.docx
《Lab 03 Eclipse DBA 1.docx》由会员分享,可在线阅读,更多相关《Lab 03 Eclipse DBA 1.docx(28页珍藏版)》请在冰豆网上搜索。
Lab03EclipseDBA1
EclipseLab3
DevelopingadatabaseapplicationwithMySqlinEclipse
Part1
1实验目的
1)安装MySql数据库系统;
2)管理MySql数据库;
3)建立数据库连接;
4)开发数据库应用程序;
5)掌握Java数据库应用程序开发的工作流程。
2实验任务
2.1安装MySql数据库系统
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
在2008年1月16号被Sun公司收购。
而2009年,SUN又被Oracle收购。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。
这样就增加了速度并提高了灵活性。
MySQL的SQL“结构化查询语言”。
SQL是用于访问数据库的最常用标准化语言。
MySQL软件采用了GPL(GNU通用公共许可证)。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
实验步骤如下:
参照安装视频文件。
安装Workbench需要.NETFramework4.0,已包含在实验文件包中。
一些重要的安装选项在实验时请按照下图设置。
2.2创建MySql数据库
MySQL数据库管理系统中的数据容器称为Schema(模式/方案),一个schema相当于MSSQLServer中的一个数据库的概念。
本任务将使用MySQLWorkbench创建一个名为student的schema。
实验步骤如下:
1.打开MySQLWorkbench,单击OpenConnectiontoStartQuerying。
2.在ConnecttoDatabase对话框中的StoredConnection中选择LocalinstanceMySQL55,单击OK连接数据库。
3.在密码中输入admin,选择Savepasswordinvault将密码保存在密码库中则下次登录时不再需要输入密码。
4.在左侧的ACTIONS中单击AddSchema,在new_schema对话框中的name中输入student,单击Apply按钮创建新的schema:
student。
5.根据指示完成创建过程,得到一个空的studentschema,如图所示。
6.创建表(Table)
a)在SCHEMAS中选择studentTables,在右键菜单中选择CreateTable。
b)在new_table对话框的Table标签页中的Name中输入sample,然后单击Columns标签。
c)在Columns标签页中在ColumnName输入code,Datatype设置为VARCHAR(45),单击Apply按钮创建sample表。
d)在视图中应显示刚创建的sample表,如图所示。
2.3设置数据库开发环境
在Eclipse中开发数据库应用程序需要引入数据库的JDBC驱动程序API库并进行相应的环境设置,本任务将完成为一个JavaProject设置数据库开发环境。
实验步骤如下:
在D:
盘上创建以自己学号命名的文件夹。
7.运行Eclipse。
8.在Eclipse中将Workspace切换到D:
盘的学号文件夹。
9.新建一个JavaProject,Project名称为P30_MySqlDatabaseSetup。
10.在PackageExplorer中选择项目P30_MySqlDatabaseSetup,在右键菜单中选择NewFolder。
11.在打开的NewFolder对话框中的Foldername中输入lib,该文件夹将用来存放数据库的JDBC驱动程序API库。
12.导入MySql的JDBC驱动程序API库。
a)在PackageExplorer中选择项目P30_MySqlDatabaseSetup,在右键菜单中选择Import;
b)在Import对话框中选择GeneralFileSystem;
c)导入目录选择MySql的安装目录(默认为C:
\ProgramFiles\MySQL\MySQLConnectorJ)
d)选择MySql的JDBC驱动程序包mysql-connector-java-5.1.15-bin.jar,Intofolder选择为P30_MySqlDatabaseSetup/lib。
e)导入成功后,项目的目录结构应如图所示。
13.设置Javaproject的环境变量。
a)选择项目P30_MySqlDatabaseSetup,在右键菜单中选择Properties。
b)在Properties对话框中点击JavaBuilPath,在右侧标签页中单击Libraries。
该标签页用来添加Javaproject用到的外部类库。
c)添加类库有多种方式,可直接添加JAR包或类路径,这里我们采用添加环境变量的方式,请思考这种方式的优点。
单击AddVariable...按钮。
在对话框中单击CongigureVariables按钮。
d)在新的对话框中选择New...按钮来新建一个环境变量。
e)在对话框中输入如下信息:
Name:
MYSQL_JDBC
Path:
C:
/ProgramFiles/MySQL/MySQLConnectorJ/mysql-connector-java-5.1.15-bin.jar
f)单击OK并完成设置过程。
g)尝试采用AddJARs的方式将我们在步骤7中导入的mysql-connector-java-5.1.15-bin.jar添加到项目类库中。
思考为什么要导入JDBC类库?
2.4连接到MySQL数据库
要连接到数据库访问数据,除了需要上面的JDBC驱动程序,还必须使用与数据库相关的各种参数。
数据库URL:
数据库URL告诉程序应该到何处寻找数据库,JDBC使用一种与普通URL相类似的语法来描述数据源,一个MySQL数据源的URL通常如下:
jdbc:
mysql:
//localhost:
3306/student。
这个URL表示连接到本地的MySQL数据库管理系统中的student数据库(schema)。
数据库驱动器类:
com.mysql.jdbc.Driver,注册驱动器类的两种方式:
1)Java程序加载:
Class.forName("com.mysql.jdbc.Driver");
2)设置系统属性:
System.setProperty("jdbc.drivers","com.mysql.jdbc.Driver");
数据库用户名和密码:
数据库管理系统中能够访问数据库(schema)的用户;
最后使用DriverManager获取数据库连接:
DriverManger.getConnection(url,username,password)。
实验步骤如下:
14.将实验包中P30_MySqlDatabaseSetup中的TestDB.java和database.properties两个文件通过FileImport导入到Java项目P30_MySqlDatabaseSetup中。
此时Eclipse中会通知你程序中有错误,请指出是什么错误并改正。
15.新建一个名为test的javapackag。
16.将TestDB.java移动到test包中。
17.本任务中将从数据库连接属性文件中获取数据库连接参数(思考这样做的好处是什么?
),并将数据库驱动设置到系统属性(System.setProperty)。
用下面的程序替换TestDB中的getConnection()。
18.运行TestDB,在console中应显示如下信息,表示数据库已经连接成功。
19.复制TestDB.java,粘贴为TestDB_New.java。
更改getConnection()方法,采用直接在程序中设置数据库连接属性的方法,并改用Class.forName()注册数据库驱动器。
实例代码如下:
20.运行TestDB_New,在console中应显示如下信息,表示数据库已经连接成功。
2.5开发学生信息管理应用程序
在本任务中,我们将会开发一个简单的数据库应用系统来管理学生的基本信息,完成数据库的增加、删除、查询和修改的功能。
实验步骤如下:
21.生成数据库中的表。
我们将通过Java程序在MySQL数据库中的studentschema中创建两张表studentinfo和users。
Table:
studentinfo
Table:
users
a)将实验包中P30_MySqlDatabaseSetup中的SetupStudentDB.java文件通过FileImport导入到Java项目P30_MySqlDatabaseSetup中的test包中。
b)运行SetupStudentDB应用程序,程序成功运行后的结果如图所示,表示表和记录已设置完成。
思考:
你可以尝试在MySQLWorkbench中直接建立表和添加记录。
22.重新组织项目结构
a)建立新的JavaProject:
P31_StudentInfoManagement。
注意在创建新项目时Projectlayout选择Useprojectfolderasrootforsourcesandclassfiles选项。
b)新建名为conn的package;
c)将P30_MySqlDatabaseSetup中的TestDB.java复制到connpackage中,并重命名为ConnecDB.java;(注意应使用Refactor功能)
d)新建名为setup的package;
e)将P30_MySqlDatabaseSetup中的SetupStudentDB.java移动到setuppackage中;
f)此时在SetupStudentDB.java将出现如下错误,TestDB无法解析,请思考这是什么原因造成的?
应如何改正?
(提示:
请考虑步骤b-c所做的操作)
g)运行SetupStudentDB,参照前面的实验步骤检查数据库连接是否成功。
h)导入实验包中的StudentInfo.java到conn包。
23.登录界面的设计
作为一个学生信息管理系统,必须有相应的权限的人才能进入,因此要使用用户名和密码进行登录。
本实验中的用户名和密码均为admin。
下面我将设计一个登录界面来验证用户名和密码。
实验步骤:
a)新建名为info的package。
b)通过WindowBuilder新建一个名为Login的JFrame。
c)设置窗体标题,将如下代码放入构造函数中。
//设置登录窗口标题
this.setTitle("学生信息管理系统");
d)设计如下窗体,使用组件JLable、JTextField和JButton。
按下图中组件旁边的名称更改对应的组件变量名。
例如,Username右边的JTextField组件的变量名应更改为txtUsername。
e)通过环境变量MYSQL_JDBC为JavaProject添加MySql驱动程序。
f)参照实验包中代码Login.java完成登录界面程序。
24.主界面的设计
a)通过WindowBuilder创建主窗体(ApplicationWindow)名为MainFrame,放在info包中。
b)创建菜单栏和菜单项,如图所示。
25.添加学生信息界面的设计
a)通过WindowBuilder创建一个JFrame,名为AddStudent,放在info包中。
b)界面设计如图所示。
c)参照实验包中的AddStudent.java完成添加学生信息模块的代码。
26.修改学生信息界面的设计
a)通过WindowBuilder创建一个JFrame,名为EditStudent,放在info包中。
b)界面设计如图所示。
c)参照实验包中的EditStudent.java完成添加学生信息模块的代码。
27.删除学生信息界面的设计
a)通过WindowBuilder创建一个JFrame,名为DeleteStudent,放在info包中。
b)界面设计如图所示。
c)参照实验包中的DeleteStudent.java完成添加学生信息模块的代码。
28.在MainFrame中调用各个窗体,完成系统设计。
参照实验包中MainFrame.java完成系统设计。
3应提交的文档
创建C:
\Temp\目录,将本实验中完成的2个JavaProject(P30_MySqlDatabaseSetup,P31_StudentInfoManagement)利用Eclipse中的导出功能导出为1个以学号和实验名为名称的zip文件(例如090750101EclipseLab3.zip)到C:
\Temp\文件夹下。
将该.zip文件上传给教师。
a)选择FileExport。
b)在Export对话框中选择GeneralArchiveFile,单击Next。
c)确定你需要导出的文件夹和文件名学号实验名.zip(例如090750101EclipseLab3.zip),单击Finish。
EndofEclipseLab3
参考文献
[1]张桂元、贾燕枫编著·Eclipse开发入门与项目实践,2006,北京:
人民邮电出版社
[2]BertholdDaum,ProfessionalEclipse3forJavaDevelopers,2005,JohnWiley&Sons
[3]Trail:
CreatingaGUIWithJFC/Swing
(
[4]CayS.Horstmann,GaryCornell·Java核心技术卷II:
高级特性(第8版),2008,北京:
机械工业出版社
[5]BenForta·MySQL必知必会,2009,北京:
人民邮电出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Lab 03 Eclipse DBA