Lab-03-Eclipse-DBA-1_第1页
Lab-03-Eclipse-DBA-1_第2页
Lab-03-Eclipse-DBA-1_第3页
Lab-03-Eclipse-DBA-1_第4页
Lab-03-Eclipse-DBA-1_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Eclipse Lab 3Developing a database application with MySql in EclipsePart 11 实验目的1) 安装MySql数据库系统;2) 管理MySql数据库;3) 建立数据库连接;4) 开发数据库应用程序;5) 掌握Java 数据库应用程序开发的工作流程。2 实验任务2.1 安装MySql数据库系统MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。实验步骤如下:参照安装视频文件。安装Workbench需要.NET Framework 4.0,已包含在实验文件包中。一些重要的安装选项在实验时请按照下图设置。2.2 创建MySql数据库MySQL数据库管理系统中的数据容器称为Schema(模式/方案),一个schema相当于MS SQL Server中的一个数据库的概念。本任务将使用MySQL Workbench创建一个名为student的schema。实验步骤如下:1. 打开MySQL Workbench,单击Open Connection to Start Querying。2. 在Connect to Database对话框中的Stored Connection中选择Local instance MySQL55,单击OK连接数据库。3. 在密码中输入admin,选择Save password in vault将密码保存在密码库中则下次登录时不再需要输入密码。4. 在左侧的ACTIONS中单击Add Schema,在new_schema对话框中的name中输入student,单击Apply按钮创建新的schema:student。5. 根据指示完成创建过程,得到一个空的student schema,如图所示。6. 创建表(Table)a) 在SCHEMAS中选择studentTables,在右键菜单中选择Create Table。b) 在new_table对话框的Table标签页中的Name中输入sample,然后单击Columns标签。c) 在Columns标签页中在Column Name输入code,Datatype设置为VARCHAR(45),单击Apply按钮创建sample表。d) 在视图中应显示刚创建的sample表,如图所示。2.3 设置数据库开发环境在Eclipse中开发数据库应用程序需要引入数据库的JDBC驱动程序API库并进行相应的环境设置,本任务将完成为一个Java Project设置数据库开发环境。实验步骤如下:在D:盘上创建以自己学号命名的文件夹。1. 运行Eclipse。2. 在Eclipse中将Work space切换到D:盘的学号文件夹。3. 新建一个Java Project,Project名称为P30_MySqlDatabaseSetup。4. 在Package Explorer中选择项目P30_MySqlDatabaseSetup,在右键菜单中选择NewFolder。5. 在打开的New Folder对话框中的Folder name中输入lib,该文件夹将用来存放数据库的JDBC驱动程序API库。6. 导入MySql的JDBC驱动程序API库。a) 在Package Explorer中选择项目P30_MySqlDatabaseSetup,在右键菜单中选择Import;b) 在Import对话框中选择GeneralFile System;c) 导入目录选择MySql的安装目录(默认为C:Program FilesMySQLMySQL ConnectorJ)d) 选择MySql的JDBC驱动程序包mysql-connector-java-5.1.15-bin.jar,Into folder选择为P30_MySqlDatabaseSetup/lib。e) 导入成功后,项目的目录结构应如图所示。7. 设置Java project的环境变量。a) 选择项目P30_MySqlDatabaseSetup,在右键菜单中选择Properties。b) 在Properties对话框中点击Java Buil Path,在右侧标签页中单击Libraries。该标签页用来添加Java project用到的外部类库。c) 添加类库有多种方式,可直接添加JAR包或类路径,这里我们采用添加环境变量的方式,请思考这种方式的优点。单击Add Variable.按钮。在对话框中单击Congigure Variables按钮。d) 在新的对话框中选择New.按钮来新建一个环境变量。e) 在对话框中输入如下信息:Name: MYSQL_JDBCPath: C:/Program Files/MySQL/MySQL Connector J/mysql-connector-java-5.1.15-bin.jarf) 单击OK并完成设置过程。g) 尝试采用Add JARs的方式将我们在步骤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)。实验步骤如下:1. 将实验包中P30_MySqlDatabaseSetup中的TestDB.java和perties两个文件通过FileImport导入到Java项目P30_MySqlDatabaseSetup中。此时Eclipse中会通知你程序中有错误,请指出是什么错误并改正。2. 新建一个名为test的java packag。3. 将TestDB.java移动到test包中。4. 本任务中将从数据库连接属性文件中获取数据库连接参数(思考这样做的好处是什么?),并将数据库驱动设置到系统属性(System.setProperty)。用下面的程序替换TestDB中的getConnection()。5. 运行TestDB,在console中应显示如下信息,表示数据库已经连接成功。6. 复制TestDB.java,粘贴为TestDB_New.java。更改getConnection()方法,采用直接在程序中设置数据库连接属性的方法,并改用Class.forName()注册数据库驱动器。实例代码如下:7. 运行TestDB_New,在console中应显示如下信息,表示数据库已经连接成功。2.5 开发学生信息管理应用程序在本任务中,我们将会开发一个简单的数据库应用系统来管理学生的基本信息,完成数据库的增加、删除、查询和修改的功能。实验步骤如下:1. 生成数据库中的表。我们将通过Java程序在MySQL数据库中的student schema中创建两张表studentinfo和users。Table: studentinfoTable: usersa) 将实验包中P30_MySqlDatabaseSetup中的SetupStudentDB.java文件通过FileImport导入到Java项目P30_MySqlDatabaseSetup中的test包中。b) 运行SetupStudentDB应用程序,程序成功运行后的结果如图所示,表示表和记录已设置完成。思考:你可以尝试在MySQL Workbench中直接建立表和添加记录。2. 重新组织项目结构a) 建立新的Java Project:P31_StudentInfoManagement。注意在创建新项目时Project layout选择Use project folder as root for sources and class files选项。b) 新建名为conn的package;c) 将P30_MySqlDatabaseSetup中的TestDB.java复制到conn package中,并重命名为ConnecDB.java;(注意应使用Refactor功能)d) 新建名为setup的package;e) 将P30_MySqlDatabaseSetup中的SetupStudentDB.java移动到setup package中;f) 此时在SetupStudentDB.java将出现如下错误,TestDB无法解析,请思考这是什么原因造成的?应如何改正?(提示:请考虑步骤b-c所做的操作)g) 运行SetupStudentDB,参照前面的实验步骤检查数据库连接是否成功。h) 导入实验包中的StudentInfo.java到conn包。3. 登录界面的设计作为一个学生信息管理系统,必须有相应的权限的人才能进入,因此要使用用户名和密码进行登录。本实验中的用户名和密码均为admin。下面我将设计一个登录界面来验证用户名和密码。实验步骤:a) 新建名为info的package。b) 通过WindowBuilder新建一个名为Login的JFrame。c) 设置窗体标题,将如下代码放入构造函数中。/ 设置登录窗口标题this.setTitle(学生信息管理系统);d) 设计如下窗体,使用组件JLable、JTextField和JButton。按下图中组件旁边的名称更改对应的组件变量名。例如,User name右边的JTextField组件的变量名应更改为txtUsername。e) 通过环境变量MYSQL_JDBC为Java Project添加MySql驱动程序。f) 参照实验包中代码Login.java完成登录界面程序。4. 主界面的设计a) 通过WindowBuilder创建主窗体(Application Window)名为MainFrame,放在info包中。b) 创建菜单栏和菜单项,如图所示。 5. 添加学生信息界面的设计a) 通过WindowBuilder创建一个JFrame,名为AddStudent,放在info包中。b) 界面设计如图所示。c) 参照实验包中的AddStudent.java完成添加学生信息模块的代码。6. 修改学生信息界面的设计a) 通过WindowBuilder创建一个JFrame,名为EditStudent,放在info包中。b) 界面设计如图所示。c) 参照实验包中的EditStudent.java完成添加学生信息模块的代码。7. 删除学生信息界面的设计a) 通过WindowBuilder创建一个JFrame,名为DeleteStudent,放在info包中。b) 界面设计如图所示。c) 参照实验包中的DeleteStudent.java完成添加学生信息模块的代码。8. 在MainFrame中调用各个窗体,完成系统设计。参照实验包中MainFrame.java完成系统设计。3 应提交的文档创建C:Temp目录,将本实验中完成的2个Java Project(P30_MySqlDatabaseSetup, P31_StudentInfoManagement)利用Eclipse中的导出功能导出为1个以学号和实验名为名称的zip文件(例如090750101EclipseLab3.zip)到C:Temp文件夹下。将该.zip文件上传给教师。a) 选择FileExport。b) 在Export对话框中选择GeneralArchive File,单击Next。c) 确定你需要导出的文件夹和文件名学号实验名.zip(例如090750101EclipseLab3.zip),单击Finish。End of Eclipse Lab 3参考文献1 张桂元、贾燕枫 编著Eclipse开发入门与项目实践,2006,北京:人民邮电出版社

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论