一个高效的jdbc oracle封装类,能够对实际业务操作进行良好的支持。这篇文章将着重介绍这个封装类来解决实际开发中eclipse link的缺陷与不足。
对于首次使用jdbc的PHP开发者来说,封装类的使用是为了将调用方式自己封装以便重用和方便,而且用连接池来控制MysqL等数据库连接,以后对于参数的维护、bug的调试等等也要更加方便。
首先,我们先看一下不使用封装类,一个简单的jdbc查询代码是怎样的:
public class TestSelect { public static void main(String[] args) throws sqlException{ Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { //加载驱动类 Class.forName("oracle.jdbc.driver.OracleDriver"); //建立连接 conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","username","password"); //添加需要查询的sql String sql = "SELECT * FROM test_table WHERE id = ?"; pstmt = conn.prepareStatement(sql); //设置查询参数 pstmt.setInt(1,1); //执行查询 rs = pstmt.executeQuery(); while(rs.next()){ System.out.println(rs.getInt("ID")+","+rs.getString("NAME")); } } catch (ClassNotFoundException e) { e.printstacktrace(); } finally{ //关闭连接 rs.close(); pstmt.close(); conn.close(); } } }
我们再看一下使用封装类的代码,能够发现封装类实际起到了相当于ORM的作用,不用写sql语句了:
public class TestSelect { public static void main(String[] args) throws sqlException{ Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { //加载驱动类 Class.forName("oracle.jdbc.driver.OracleDriver"); //建立连接 conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","+rs.getString("NAME")); } } catch (ClassNotFoundException e) { e.printstacktrace(); } finally{ //关闭连接 rs.close(); pstmt.close(); conn.close(); } } }
可以看到我的封装类,使用Map
这里有一个好处是,我们可以自己实现一个小型的ORM框架,对于大量的数据查询和数据变更,可以选择封装类的方式简化开发,加快操作效率。
此外,数据库的连接基本都是以 JDBC 的方式进行访问的,而 JDBC 是开发代码访问数据库的不同体系并把其封装在 DataSource 中。在连接数据库的时候,需要手动完成 JDBC 的一些操作,而这其中包含了创建连接、预编译 Statement、处理结果和关闭连接等等,因此,我们可以使用封装类进行快速开发。
因此,一个好的jdbc oracle封装类,可为实际业务操作提供良好的支持,应当考虑到实际业务操作中遇到的常规问题:
- 创建连接时,很容易出现数据库连接池溢出,应当做好相应的处理;
- 使用或者修改指极易引起错误,并且会对业务造成巨大的影响,因此需要建立数据库异常处理机制;
- 对于出现的异常,应当提供很好的方式提示错误。例如,需要提供详细的错误信息、记录异常日志、维护错误码等等;
- 开发人员需要通过封装类预先设定好的接口访问数据库,这样可提高开发的效率;
综上所述,封装类的作用是快速开发,所以不同的封装类会根据不同的业务需求进行不同的封装,这就需要开发人员在实际开发中结合自身情况进行灵活选择。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。