09上--第11章II数据库深入应用.ppt_第1页
09上--第11章II数据库深入应用.ppt_第2页
09上--第11章II数据库深入应用.ppt_第3页
09上--第11章II数据库深入应用.ppt_第4页
09上--第11章II数据库深入应用.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、第11章II 数据库深入应用,主讲:曲美霞,涉及内容,Java数据库操作优化,主要内容:,1 使用设计模式封装连接 2 使用预编译SQL 语句提高效率 3 使用OO思想封装记录 4 使用Java Collection Framework API 5 资源的积极回收 6 关于属性文件的使用,1 使用设计模式封装连接,问题来源: DriverManager.getConnection(String url); DriverManager.getConnection(String url,String user,String password); ?此处需要根据不同的数据库的连接信息才能创建和不同数

2、据库的连接实例,?考虑使用最简单的简单工厂设计模式来封装此段代码。,习惯的解决方案: 定义一个ConnectFactory类,同时定义一个static方法,用来封装不同数据库的连接,2 使用预编译SQL 语句提高效率,问题来源: Statement st=con.createStatement(); st.execute(String sql); st.executeQuery(String sql); st.executeUpdate(String sql);,? 请考虑一下DBMS端作了什么? ?有没有提高执行速度和执行效率的JDBC API,解决方案:,位于java.sql包中的2个接口

3、 PreparedStatement CallableStatement,PreparedStatement,格式: PreparedStatement ps=con.prepareStatement(String sql); ps.setXXX(1,value); /?设置占位符值 ps.setXXX(n,value); ps.executeQuery();,CallableStatement,格式: CallableStatement cls=con.prepareCall (“ call storedprocdure(?,?)”); cls.setXXX(1,value); cls.se

4、tXXX(2,value); . cls.execute();,CallableStatement 说明:,可以接收输入参数; 可以接收输出参数; 还可以输入输出同时接收。,3 使用OO思想封装记录,OO思想? 在此即指:数据库表中每一条记录(行信息)看作是一个对象,解决方案:,使用JavaBeans来进行封装,JavaBeans规范,是一个遵循特定规范定义的Java类 规范如下: 是一个公共类 public class MyBean 拥有公共的无参构造方法 public MyBean() 只使用私有数据域 private String name; 为其私有的数据域提供公共的可读/可写方法,应

5、用场合和优势:,JSP(MVC1,2)中作Model 存储数据,MVC2,MVC1,4 使用Java Collection Framework API,问题描述: 将表中的记录(对象)存储到一个数据结构中,如何实现?,解决方案:,1 使用数组 2 使用collection API (java.util) 例如 Vector ,ArrayList,Generic programming之Generics,范型: Generics 又称Template(C+) 程序设计语言提供的将数据类型参数化 可以提高程序的可复用性,可抽象性等,范型-1,范型出现位置: 类或者方法定义中,类定义-范型类(接口)

6、定义,class className . ,方法定义-范型,public static void swap (Elem a, int i, int j) Elem temp=ai; ai=aj ; aj=temp; ,5 资源的积极回收,使用相应的JDBC API中提供的close()即可 原则: 最先打开的最后关闭 connection.close()可以强制关闭其他的资源,但不建议,6 关于属性文件的使用,问题提出: ? 考虑到DBA会经常地重新设置数据库连接信息等,解决方案:,采用独立于Java代码的属性文件来保存数据库连接信息,涉及到的知识,(1)属性文件定义 (2)文件操作,(1)属性文件定义,使用的HashTable的键值对的格式来定义属性文件 扩展名保存为.properties,(2)文件操作 -书Chap9,Java的文件操作的API在java.io包 Java数据流分: 字节流(InputStream OutputStream) 字符流(Reader Writer),InputStream类的子类:,OutputStream类的子类,Reader类的子类:,Writer类的子类:,属性文件的读写,使用java.util 包中的Proper

温馨提示

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

最新文档

评论

0/150

提交评论