版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026海南海口市美兰区校园招聘教师45人备考题库(一)及参考答案详解【培优b卷】
- 2026中共温岭市委机构编制委员会办公室招聘编外人员1人备考题库(a卷)附答案详解
- 2026广西百色市右江区城东社区卫生服务中心招聘公益性岗位2人备考题库【典优】附答案详解
- 2026江苏南通市工会社会工作者招聘21人备考题库附答案详解(基础题)
- 2026北京师范大学实验小学教师及实习生招聘备考题库(精练)附答案详解
- 2026湖南长沙市芙蓉区招聘中小学教师41人备考题库含完整答案详解【网校专用】
- 2026郑州大学附属郑州中心医院上半年博士招聘备考题库及参考答案详解(巩固)
- 2026江苏镇江市润州区卫生健康系统事业单位招聘专业技术人员21人备考题库附答案详解(能力提升)
- 中移动金融科技有限公司2026春季园招聘备考题库带答案详解(基础题)
- 2026贵州贵阳乌当区新天九年制学校春季招聘第六批教师2人考试备考题库及答案解析
- 2026届江苏南通市通州区高三下学期模拟预测化学试题(含答案)
- 吉水县2026年面向社会公开招聘农村(社区)“多员合一岗”工作人员【146人】考试备考试题及答案解析
- 2026年中级消防设施操作员习题库(附答案解析)
- 民盟支部内部管理制度
- 2026年公安局辅警招聘《综合理论知识》考试题库及答案
- 2025-2026学年冀美版(新教材)初中美术八年级下册(全册)教学设计(附目录P125)
- 吸痰护理操作中的并发症预防
- 1.6 有多少名观众 课件-2025-2026学年三年级下册数学北师大版
- 动物营养学各单元
- 2026年海底管道智能巡检报告及未来五至十年海洋工程报告
- RCEP培训商务部课件
评论
0/150
提交评论