rapid-db-conn: 用于快速开发的数据库连接类库(Java)

1. 简单介绍

大多数Java程序员的主要工作重心基本上都在Web开发上,而在Web端,已经有了与各大框架集成的数据库连接池,只要简单配置即可在程序中使用。但是也有一部分Java程序员从Web端转向了大数据方面的工作。很多时候如果将数据导入数据库,然后在该数据库中进行一系列的分析,那么就不可避免的需要从头写一个用于数据库连接的类。作为程序员,“懒惰”是一个很好的习惯,即一次开发,到处运行,为了提高开发效率,我们都希望这次写的代码在下次能够继续使用。出于这样的目的,我在GitHub上开源了一个用于快速开发数据库操作的库:rapid-db-conn,该库使用xml作为配置文件,在数据库配置改变的情况下只需要修改xml文件即可,支持MySQL,Oracle,SQL Server,PostgreSQL这四个主流的数据库,并且封装了常用的增删改查,只要传入SQL语句及相关参数即可调用相应的方法(需要注意的是,此库未加入连接池的功能,故只适合于快速开发,而不适用于Web环境)。rapid-db-conn的GitHub地址为:rapid-db-conn 打包好的jar包的下载地址:rapid-db-conn-v1.0.rar 下载后解压即可。

2.使用方法

2.1前期准备

(1)dom4j的jar包(用于xml的解析)

(2)使用的数据库的Java驱动

(3)准备config.xml,并将其放置在工程的根目录下(config.xml的模板参见:config.xml)

(4)把rapid-db-conn-v1.0.jar引入工程

2.2获取数据库连接

/**
 * 如果没有引入正确的数据库驱动,或者配置出错,此构造函数会抛出 ClassNotFoundException 或者 SQLException
 */
Connector connector = new TelaConnector();

2.3插入数据

/**
 * 普通版本
 */
boolean isInserted = connector.insert(String sql); // assume connector is a Connector object
/**
 * 带参数的版本(即内部使用PreparedStatement实现参数的定向绑定)
 */
boolean isInserted = connector.insert(String sql, Object[] args); // recommanded

2.4删除数据

/**
 * 普通版本
 */
boolean isDeleted = connector.delete(String sql); // assume connector is a Connector object
/**
 * 带参数的版本
 */
boolean isDeleted = connector.delete(String sql, Object[] args); // recommanded

2.4更新数据

/**
 * 普通版本
 */
boolean isUpdated = connector.update(String sql); // assume connector is a Connector object
/**
 * 带参数的版本
 */
boolean isUpdated = connector.update(String sql, Object[] args); // recommanded

2.5查询数据

/**
 * 普通版本
 */
ResultSet set = connector.select(String sql); // assume connector is a Connector object
/**
 * 带参数的版本
 */
ResultSet set = connector.select(String sql, Object[] args); // recommanded

3.注意事项

客户端无需关心关闭数据库操作过程中产生的Statement对象的问题,Connector提供了close()方法,只需要在finally程序块中调用close()方法即可关闭所有的Statement对象和数据库连接

Connector connector = null;
try {
    connector = new TelaConnector();
    /**
     * 此处为各种操作
     */
} catch (ClassNotFoundException e) {
    e.printStackTrace();
} catch (SQLException e) {
    e.printStackTrace();
} finally {
    if (connector != null) {
      connector.close(); 
    }
}



当然,如果程序中使用了ResultSet对象,那么在调用Connector的close()方法之前应该先关闭ResultSet对象,Connector不负责关闭ResultSet对象。


你可能感兴趣的:(java,数据库连接,快速开发)