Monthly Archives: 02月 2005

自行开发了个可重用的数据库连接框架

在开发有关数据库的应用时,虽然JDBC提供给我们许多便利,但在我们开发不同的应用的时候还是会重复着一些相同的工作,比如说编写数据库连接的程序,工作虽然不算多,但不断地重复实在是浪费时间,也增加了调试的复杂度;还有一点,我们应该尽量使用配置的数据源,笔者用的是Mysql,当用到中文应用上的时候Mysql的数据源没办法解决中文问题,另一方面又不希望每次都手动创建连接。基于以上遇到的两个小障碍,我编写了一个小框架,实现数据库使用方法最简单,能创建数据连接池。这些工作的实现都不需要再编程。 在Web应用中我们只需要在WEB-INF文件夹下面加入一个DBconfig.properties的文件,简单设置几个参数,再在Web.xml文件内加入一个listener元素即可。凡是JDBC支持的数据库类型都可以通过这两个文件来设置得到与数据库的连接。有了这个基础,开发者可以只需要考虑业务上的编程。比如说要实现什么样的查询和数据操作,开发者只需要定义这些业务上的方法即可。这样对开发效率来说大有改善。当然,如果在一些大的应用里面,用到ORM框架的话,这个框架就派不上用场了。这个小框架只适用于中小型的“利用关系数据库本土语言来工作”的应用。 使用的步骤: 一、配置DBconfig.properties DBconfig.properties的设置例子如下: url=jdbc:mysql://localhost:3306/article?useUnicode=true&characterEncoding=GB2312 user=dbuser passWord=227711 DriverName=com.mysql.jdbc.Driver maxConnections=10 url参数指定所要的数据库连接的URL。 user参数是连接该数据库的用户名 passWord参数是连接用户的密码 DriverName参数是所用数据库类型的驱动类 maxConnections可以设置最大连接数目 二、配置Web.xml: 在Web.xml中这样设置便可: <web-app> <listener> <listener-class>bbmyth.util.dataBase.DataSourceProviderServlet</listener-class> </listener> </web-app> 不要去改变<listener>里面的所有东西。 三、用本应用包的API来编写业务程序 确保bbmyth.util.dataBase这个应用包在你的ClassPath(供编译程序用)中,或直接将该包Import入来。 最后定义自已的数据库操作Bean。注意这个Bean要继承bbmyth.util.dataBase.DBManager类,在这个DBManager类里提供了四个数据库操作变量: Connection con:是连接类,框架已提供现成的连接,开发者可在程序里以下面的语句来获得数据库的连接:con=getConnection(); Statement smt:是查询语句类的变量,可直接使用; PreparedStatement psmt:是预编译查询语句类的变量,可直接使用; ResultSet rs:是结果集的变量,可直接使用。 每一次连接使用完之后,不管是用编译语句还是预编译语句和有没有返回结果集都可以直接用closeAll()函数来关闭它们,不推荐用他们自已的close()方法。 四、在Jsp中应用UseBean标签把该业务JavaBean应用进去,然后用SetProperty标签设置其一个参数。如: <jsp:setProperty name=”articledb” property=”provider” value=”<%=application.getAttribute(“CONNECTOR”)%>”/> … Continue reading

Posted in 技术 | Tagged , , | Leave a comment