版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java数据库程序设计数据库程序设计大纲大纲 了解了解JDBC 掌握掌握java.sql包中常用的接口和类的用法包中常用的接口和类的用法 掌握连接数据库的基本步骤,学会连接不同掌握连接数据库的基本步骤,学会连接不同的数据库。的数据库。 掌握数据库的基本操作:添加、删除、修改掌握数据库的基本操作:添加、删除、修改和查询。和查询。JDBC简介简介JDBC (Java DataBase Connectivity, Java 数据库互连)是sun公司推出的一套访问数据库的接口,得到了各数据库厂商的支持。各数据库厂商都依据这套接口为自己的产品撰写了实现类,我们把这些实现类的集合称为jdbc驱动程序。JD
2、BC简介简介使用使用JDBC访问数据库时资源之间的调用关系访问数据库时资源之间的调用关系 :编写代码前的预备工作编写代码前的预备工作无论连接的是哪一种类型的数据库,其过程都是相似的。步骤:1.安装必要的数据库软件2. 准备好数据库厂家提供的在Java中连接数据库所需要的驱动包(.jar文件).3. 设置Java项目的构建路径,在项目中添加驱动包。4. 针对不同类型的数据库,编写不同的连接代码。 安装安装MYSQL 注意安装时选择UFT8字符集案例:学生信息管理系统案例:学生信息管理系统准备工作准备工作 在数据库中建表在数据库中建表不同类型的驱动包文件列表不同类型的驱动包文件列表课件的drive
3、rs目录下提供了常用的几种数据库的jdbc驱动类库。 oracle ojdbc14_g.jar sql server2000(需3个文件) msbase.jar msutil.jar mssqlserver.jar sql server2005 sqljdbc.jar mysql mysql-connector-java-3.1.12-bin.jar注:不同的数据库版本,名称会有所不同,可到相应的网站下载更新。在项目中添加驱动包在项目中添加驱动包 在项目包视图中,右击“项目名称”,选择“构建路径-“添加外部归档”,将需要的驱动文件(*.jar)引入到项目中。2 JDBC数据库访问流程数据库访问
4、流程1) 加载加载JDBC驱动程序驱动程序2) 创建数据库连接创建数据库连接3) 执行执行SQL语句语句4) 接收并处理接收并处理SQL的返回结果的返回结果5) 关闭创建的各个对象。关闭创建的各个对象。第一步:加载第一步:加载JDBC驱动程序驱动程序第二步:创建数据库连接第二步:创建数据库连接Connection con =DriverManager.getConnection(url,user,pwd); user和和pwd表示用户名和密码。表示用户名和密码。 URL一般格式为:一般格式为:jdbc:mysql:/localhost:3306/XXX 创建创建PreparedStatemen
5、t对象,发送对象,发送SQL语语句到数据库。句到数据库。第三步:执行第三步:执行SQL语句语句第四步:第四步: 接收并处理接收并处理SQL返回的结果返回的结果 ResultSet对象包含了执行某个对象包含了执行某个SQL语语句后满足条件的所有记录行,它还提供句后满足条件的所有记录行,它还提供对这些行的访问方法。对这些行的访问方法。 next() getString() lResultSet接口接口 :ResultSet 对象包含符合指对象包含符合指定定SQL 语句中条件的所有行,即结果集语句中条件的所有行,即结果集 。lgetXXX 方法方法(这些这些 get 方法可以访问当前行方法可以访问当
6、前行中的不同列中的不同列)提供了对这些行中数据的访问。提供了对这些行中数据的访问。lnext 方法用于移动到方法用于移动到 ResultSet 中的下一行,中的下一行,使下一行成为当前行。使下一行成为当前行。第四步:第四步: 接收并处理接收并处理SQL返回的结果返回的结果第五步:第五步: 关闭创建的各个对象关闭创建的各个对象 关闭的顺序和创建的顺序相反。关闭的顺序和创建的顺序相反。 关闭关闭ResultSet, Statement,Connection对象,通过调用对象,通过调用close()方法。方法。 关闭这些对象就能立即释放关闭这些对象就能立即释放DBMS资源,避资源,避免内存占用问题。
7、免内存占用问题。关键代码关键代码1 显示增加窗口显示增加窗口AddFrameAddFrame aFrameaFrame = new = new AddFrameAddFrame();();aFrame.setPreferredSizeaFrame.setPreferredSize(new (new Dimension(300,300);Dimension(300,300);aFrame.packaFrame.pack();();aFrame.aFrame.showshow();();关键代码关键代码2(数据库连接)(数据库连接) String String dbClassNamedbClass
8、Name = = com.mysql.jdbc.Drivercom.mysql.jdbc.Driver; String String dbUrldbUrl =“=“jdbc:mysqljdbc:mysql:/localhost:3306/:/localhost:3306/Student?useUnStudent?useUnicodeicode= =true&characterEncodingtrue&characterEncoding=UTF8”;/=UTF8”;/数数据库据库 String String dbUserdbUser = “root”;/ = “roo
9、t”;/用户名用户名 String String dbPwddbPwd = “123”;/ = “123”;/密码密码关键代码关键代码2(续)(续) Class.forNameClass.forName( (dbClassNamedbClassName);); Connection Connection connconn = = DriverManager.DriverManager.getConnectiongetConnection( (dbUrldbUrl, , dbUserdbUser, , dbPwddbPwd);); 创建创建PreparedStatement对象,发送对象,发送S
10、QL语语句到数据库。句到数据库。String String sqlsql = insert into = insert into 学生成绩表学生成绩表( (学号学号, ,姓姓名名) values(?,?);) values(?,?);PreparedStatementPreparedStatement psps = =conn.prepareStatementconn.prepareStatement( (sqlsql););ps.setIntps.setInt(1, (1, Integer.parseIntInteger.parseInt( (txtNumber.getTexttxtNumb
11、er.getText();();ps.setStringps.setString(2, (2, txtName.getTexttxtName.getText();();ps.executeUpdateps.executeUpdate();();关键代码关键代码3关键代码关键代码4(修改)(修改)String Number = String Number = JOptionPane.showInputDialogJOptionPane.showInputDialog(null,(null,请输请输入要修改的学生学号:入要修改的学生学号:,提示提示,JOptionPane.INFORMATION_
12、MESSAGEJOptionPane.INFORMATION_MESSAGE););String Name = ;String Name = ;String String sqlsql = “select = “select * * from from 学生成绩表学生成绩表 where where 学号学号=+Number;=+Number;System.out.printlnSystem.out.println( (sqlsql););ResultSetResultSet rsrs = =conn.createStatementconn.createStatement().().execut
13、eQueryexecuteQuery( (sqlsql););while(while(rs.nextrs.next()()Name = Name = rs.getStringrs.getString(2);(2);关键代码关键代码4(续)(续)UpdateFrame uFrame = new UpdateFrame();uFrame.setPreferredSize(new Dimension(400,400);uFrame.setData(Number,Name);uFrame.pack();uFrame.show();关键代码关键代码5(uFrame)增加属性增加属性private Str
14、ing private String NumberNumber; ;private String private String Name;Name;增加方法增加方法public void public void setDatasetData(String (String Number,StringNumber,String Name) Name) this.Numberthis.Number = = NumberNumber; ;this.Namethis.Name = Name; = Name;txtNumber.setTexttxtNumber.setText(Number);(Number);txtName.setTexttxtName.setText(Name);(Name); 关键代码关键代码6(查询)(查询) 定义表头定义表头String s = String s = 学号学号,姓名姓名;DefaultTableModelDefaultTableModel d = new d = new DefaultTableModelDefaultTableModel(s,0);(s,0); 添加行添加行while(while(rs.nextrs.next()() String temp = String temp = rs.g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉首大学《PLC原理与应用》2021-2022学年期末试卷
- 《机床电气控制与PLC》期末试卷-A卷及答案
- 吉林艺术学院《戏曲采风》2021-2022学年第一学期期末试卷
- 吉林艺术学院《流行音乐史Ⅰ》2021-2022学年第一学期期末试卷
- 2024年供应商招商协议书模板
- 农村木地板转让协议书范文范本
- 吉林师范大学《影视特效合成艺术》2021-2022学年第一学期期末试卷
- 2022年黑龙江省公务员录用考试《行测》真题及答案解析
- 吉林艺术学院《建筑速写》2021-2022学年第一学期期末试卷
- 2024年大白涂料购买合同范本
- 交通工程中的人因工程与智能化
- 民航服务心理案例分析
- 医院手术室空气质量控制标准
- 2024年石家庄北国人百集团有限责任公司招聘笔试冲刺题(带答案解析)
- (高清版)JTGT 3371-01-2022 公路沉管隧道设计规范
- 幼儿园一等奖公开课:小班歌唱游戏《两只小鸟》课件
- 出院准备度量表(RHDS)
- 第一单元中国特色社会主义的开创、坚持、捍卫和发展单元测试-2023-2024学年中职高教版(2023)中国特色社会主义
- 小学生生涯规划班会教案设计
- (正式版)JBT 7248-2024 阀门用低温钢铸件技术规范
- 《抗心律失常药物临床应用中国专家共识2023》解读
评论
0/150
提交评论