当前位置:
文档之家› 数据库访问的代码优化PPT教学课件
数据库访问的代码优化PPT教学课件
数据库访问的代码优化
2020/12/10
1
数据库访问的代码优化
利用基本的对数据库的jdbc操作,可以实现对数据的 管理,但是,从可复用、从软件架构的方面、从软件的升
级维护等方面来看,这些是远远不够的,我们需要深入剖
析数据库操作更深层次的知识,进一步掌握对数据库的操
作设计,形成优化的操作方式----》代码优化。 下面我们从以下几 方面逐渐提高对数据库操作的认识。
问题:
操作使用是方便了,但是当修改数据库的配置信息时,还需要修改 DBConst类,当应用系统部署以后,修改这些信息必须得重新编译、部 署或者把这个类重新编译,然后替换换下来的类文件。
虽然用常量表示数据库配置的方法可以给我们带来方便,但还是有缺
陷20。20/1--2-/1》0 近一步优化。
6
1. 3 进一步优化――数据库配置文件 和对数据库操作的封装类
String url=DBConst.URL; //数据库用户名
String user=; //数据库用户密码
String password=DBConst.PASSWORD; //根据数据库参数取得一个数据库连接
Connection conn=null ;
conn=DriverManager.getConnection(url,user,password);
但,这些配置信息需要从文件中读取,为此,需要编写 获取配置信息的一个javabean类。
2020/12/10
8
//----------文件名:DBProperty.java------------------
package beans;
(2)从属性文件中获取
import java.io.IOException;
为了解决用常量表示数据库配置信息带来的问题,避免重新编 译部署应用项目,就需要把数据库配置的信息从Java类中提出出来, 可以使用属性文件来代替描述常量的类,经过这样的处理就可以避免 重新编译、部署应用系统的问题。
同时,实现数据库访问操作类的封装。
2020/12/10
7
Hale Waihona Puke (1)用来描述数据库配置信息的属性文件的内容:
public String getClassName() {
return getProperty("className");
}
public void setClassName(String className) {
//-----------文件名: DB.properties-------------------className=com.mysql.jdbc.Driver url=jdbc:mysql://<数据库服务器IP>:3306/<数据库名称> name=root password=123456
优点:需要修改数据库配置信息时,只修改该属性文件即 可。不需要重新编译、部署。
String password=“123456”;
//根据数据库参数取得一个数据库连接
Connection conn=null ;
conn=DriverManager.getConnection(url,user,password);
问题:若需要更爱数据库的用户名、密码或者更换数据库
驱动,需奥在每个页面(有关类)中都要修改对应的信息,
Class.forName(“com.mysql.jdbc.Driver ”).newInstance();
//指定数据库连接字(连接串)
String url=“jdbc:mysql://<数据库服务器IP>:3306/<数据库名称> ”;
//数据库用户名
String user=“root”;
//数据库用户密码
(1)定义存放数据库连接需要参数的类文件: //-----------文件名: DBConst.java--------------------
package beans; public class DBConst{
public static String CLASSNAME=“com.mysql.jdbc.Driver”; public static String URL=“jdbc:mysql://<数据库服务器IP>:3306/<数据库名称> ”; public static String NAME=“root”; public static String PASSWORD=“123456”; }
在上面这个类中,我们把数据库的基础配置信息都 用常量表示,经过这样的处理,若需要更爱这些信息, 只需要更改这个类文件就可以。
2020/12/10
5
(2)这个常量类的使用方法为:
(2)这个常量类的使用方法为: //加载数据库的驱动类
Class.forName(DBConst.CLASSNAME).newInstance(); //指定数据库连接字(连接串)
2麻020烦/12且/10 容易遗漏。---》需要改进
3
2 初步优化――数据库配置信息基础类
在这种原始的数据库访问操作中,更改数据库的配置 信息是非常麻烦的。
现在可以考虑这样的处理方法: 把数据库的配置信息用常量表示,所有的数据库配 置信息都可以放在一个类中。
代码见下一页。
2020/12/10
4
(1)定义存放数据库连接需要参数的类文件
数据库配置信息类定义
import java.io.InputStream;
import java.util.Properties;
public class DBProperty {
String className=null;
String url=null;
String name=null;
String password=null;
(1)最原始的数据库访问代码示例;
(2)初步优化――数据库配置信息基础类;
(3)进一步优化――数据库配置文件
(4) 继续优化――数据库访问操作类的封装
(5)更进一步优化――DAO类封装数据库操作
(6)追求完美的优化――添加视图、存储过程
2020/12/10
2
1最原始的数据库访问代码——示例
在我们一般 开发的应用系统中,通常采用下面这段代码来建立与数据库的连接。 //加载数据库的驱动类