欢迎来到网易天天爱彩票下载_网易天天爱彩票手机版_天天爱彩票下载苹果! 联系我们 网站地图

网易天天爱彩票下载_网易天天爱彩票手机版_天天爱彩票下载苹果

0379-65557469

节能报告
全国服务热线
0379-65557469

电话: 0379-65557469
0379-63930906
0379-63900388 
0379-63253525   
传真: 0379-65557469
地址:洛阳市洛龙区开元大道219号2幢1-2522、2501、2502、2503、2504、2505室 

节能报告
当前位置: 首页 | 咨询案例 > 节能报告

Java中十个 JDBC 的最佳实践

作者:admin 发布时间:2019-05-14 19:30:46 浏览次数:328
打印 收藏 关闭
字体【
视力保护色

JDBC是Java为多种联系型数据库供给的一致的拜访接口,以下是我长期运用JDBC总结的十个最佳实践。

1. 运用PrearedStatement

任何一个运用过JDBC的Java程序员简直都知道这个,PreparedStatment能够经过预编译的办法防止咱们在拼接SQL时形成SQL注入。

2. 运用ConnectionPool(衔接池)

运用衔接池作为最佳实践简直都成了公认的规范。一些结构现已供给了内建的衔接池支撑, 例如Spring中的Database Connection Pool,假如你的运用布置在JavaEE的运用服务器中, 例如JBoss,WAS,这些服务器也会有内建的衔接池支撑,例如DBCP。 运用衔接的原因简略的说便是由于创立JDBC衔接耗时比较长,假如每次查询都从头翻开一个衔接, 然后封闭,功能将会十分低,而假如事前创立好一批衔接缓存起来,运用的时分取出, 不运用的时分仍不封闭,将会节约很多的创立封闭衔接的时刻。

3. 禁用主动提交

这个最佳实践在咱们运用JDBC的批量提交的时分显得十分有用,将主动提交禁用后, 你能够将一组数据库操作放在一个业务中,而主动提交形式每次履行SQL句子都将履行自己的业务, 并且在履行完毕提交。

4. 运Java中十个 JDBC 的最佳实践用Batch Update

JDBC的API供给了经过addBatch()办法向batch中增加SQL查询,然后经过executeBatch()履行批量的查询。 JDBC batch update能够削减数据库数据传输的往复次数,然后进步功能。

5. 运用列名获取ResultSet中的数据,然后防止invalidColumIndexError

JDBC中的查询成果封装在ResultSet中,咱们能够经过列名和列序号两种方 式获取查询的数据, 当咱们传入的列序号不正确的时分,就会Java中十个 JDBC 的最佳实践抛出invalidColumIndexException, 例如你传入了0,就会犯错,由于ResultSet中的列序号是从1开端的。 别的,假如你更改了数据表中列的次序,你也不用更改JDBC代码,坚持了程序的健壮性。 有一些Java程序员 或许会说经过序号拜访列要比列名拜访快一些,确实是这样,可是为了程序的健壮性、可读性,我仍是更引荐你运用列名来拜访。

6. 运用变量绑定而不是字符串拼接

在第一条最佳实践中,咱们现已说过要运用PreparedStatment能够防止注入,而运用? 或许其他占位符也会提高功能,由于这样数据库就能够运用不同的参数履行相同的查询, 这个最佳实践带来更高的功能的一起也防止了SQL注入。

7. 要记住封闭Statement、PreparedStatement和Connection

一般的做法是在finally块中封闭它们,这样做的优点是不论句子履行正确与否, 不论是否有反常抛出,都能确保资源被开释。在Java7中,能够经过Automatic Resource Management Block来主动的封闭资源。

8. 挑选适宜的JDBC驱动

有四种JDBC驱动,分别是

  1. JDBC-ODBC Bridge driver (bridge driver)
  2. Native-API/partly Java driver (native driver)
  3. AllJava/Net-protocol driver (middleware driver)
  4. All JavJava中十个 JDBC 的最佳实践a/Native-protocol driver (Pure java driver)

9. 尽量运用规Java中十个 JDBC 的最佳实践范的SQL句子,然后在某种程度上防止数据库对SQL支撑的差异

不同的数据库厂商的数据库产品支撑的SQL的语法会Java中十个 JDBC 的最佳实践有必定的收支,为了便利移植,我引荐运用规范的ANSI SQL规范写SQL句子。

10. 运用正确的getXXX弄潮()办法

当从ResultSet中读取数据的时分,尽管JDBC答应你运用getString()和getObject()办法获取任何数据类型, 引荐运用正确的getXXX办法,这样能够防止数据类型转化。

版权所有:洛阳市建设工程咨询有限责任公司 联系人:李经理 电话: 地址:洛阳市洛龙区开元大道219号2幢1-2522、2501、2502、2503、2504、2505室
版权所有 网易天天爱彩票下载 沪ICP备185549273号-3