JDBC编程之程序优化

时间:2022-03-19 09:06:14

JDBC编程之程序优化

中图分类号:G711 文献标识码:A 文章编号:1009-914X(2016)04-0290-01

在最初编写的JDBC应用程序代码中,所有的数据信息都是编写到Java中的,这其实是一种不可取的方式。那么,我们把这些数据信息提取出来,放到属性文件中进行程序优化。

一、配置文件优化程序

Java的属性文件是一种配置文件,主要用来表达配置信息,它的后缀是properties,其实就是一个纯文本文件。创建Java配置文件的方法是选中src右键单击新建,选择other选项,再选择向导中General下的File,将文件起名为dbConfig.properties,点击Add按钮来添加属性及属性值,例如,属性name为driver,属性value为com.mysql.jdbc.Driver;属性name为dburl,属性value为jdbc:mysql://localhost:3306/xqy_db;属性name为user,属性value为root;属性name为password,属性value为admin。

二、创建连接工厂类优化程序

1、定义connectionFactory类,并创建包名为com.xqy.until;

2、定义四个静态成员变量用来保存从属性配置文件 中读取的数据库配置文件信息值;

3、定义静态代码块用来初始化类,可以为类的属性赋值,因为当加载类的时候会执行静态代码块,该静态代码块只能被执行一次。

其中核心代码为:

Properties prop=new Properties();

InputStream in=connectionFactory.class.getClassLoader().getResourceAsStream(“dbConfig.properties”);

prop.load(in);

driver=prop.getProperties(“driver”);//对静态成员变量driver初始化

url=prop.getProperties(“dburl”);//对静态成员变量url初始化

user=prop.getProperties(“user”);//对静态成员变量user初始化

pwd=prop.getProperties(“password”);//对静态成员变量pwd初始化

4、定义一个连接工厂类的对象factory,并编写静态方法getInstance来返回连接工厂类对象实例,以确保在程序支行过程中只有一个实例。

5、定义数据连接类的对象conn,通过定义makeConnection()方法来返回配置属性文件中的数据连接对象。

Class.forName(drive);

conn=DriverManager.getConnection(url,user,pwd);

return conn;

6、创建应用程序connectionFactoryDemo.java测试属性配置文件和连接工厂类,具体操作如下:

将主方法抛出SQLException异常,在主方法中添加代码为:

connectionFactory factory=connectionFactory.getInstrance( );

Connection conn=factory.makeConnection( );

System.out.println(conn.getActionCommit( ));

接下来继续优化JDBC程序,使其更加清晰,更加符合工业标准规范。

三、创建DTO类优化程序

创建两个DTO类,分别对应数据表tbl_user和tbl_address。

DTO是Data Transfer Object的缩写,是数据传输对象,主要用于远程大量数据调用的问题上,DTO一般只有成员变量,成员变量的setXX()方法和getXX()方法,还有构造函数,DTO不能包含业务逻辑。

1、在包com.xqy.entity下建立抽象类IdEntity,其中有保护成员变量Long id,使用setXX( )和getXX( )对成员变量进行初始化,定义无返回值的toStrig()抽象方法。

2、在com.xqy.entity包下,新建IdEntity类的子类User,该类具有name、password、email三个成员属性;添加父类中未实现的方法,为name、password、email三个成员属性添加setXX( )方法和getXX( )方法。

3、在com.xqy.entity包下,新建IdEntity类的子类Address,该类具有city、country、userId三个成员属性;添加父类中未实现的方法,为city、country、userId三个成员属性添加setXX( )方法和getXX( )方法。

四、创建DAO类优化程序

DAO是Data Access Object的缩写,数据访问对象,主要用来封装对数据库的访问,通过它可以把数据库中的表转化为DTO类。

1、 在包com.xqy.dao下建立接口UserDao,在该接口在添加抽象方法:

public void save(Connection conn,User user) throws SQLException;

public void update(Connection conn,Long id,User user) throws SQLException;

public void delete(Connection conn,User user) throws SQLException;

其中save( )方法用于保存用户信息,update( )方法用于更新用户信息,delete( )方法用于删除用户信息。

2、创建UserDao接口的实现类UserDaoImpl,该类位于com.xqy.dao.impl包下。首先实现save( )方法,具体操作如下:

String sql=“insert into tbl_user(name,password,email) values(?,?,?)”;

PreparedStatement ps=conn.prepareStatement(sql);

ps.setString(1,user.getName());

ps.setString(2,user.getPassword());

ps.setString(3,user.getEmail());

ps.execute( );

其它两个方法的实现仅仅改动sql语句的内容。

3、在包com.xqy.test下建立类UserDaoTest,定义数据连接对象,并通过连接工厂类确保连接实例的唯一性,对数据连接对象使用事务机制实现该类的业务逻辑确保数据的一致性而不遭到破坏。

上一篇:综放回撤面综合防灭火技术浅析 下一篇:浅谈污水处理装置在洗扫车上的应用