首页 小编推荐 正文

斗破苍穹之无上之境,10 JDBC在Java中的最佳实践,硝苯地平缓释片

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

1. 运用PrearedState曾沛慈m德川喜喜ent

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

2. 运用ConnectionPool(衔接池)

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

3. 禁用主动提交

这个最佳实践在咱们运用JDBC的批量提交的时分显得十分有用,将主动提交禁用斗破天穹之无上之境,10 JDBC在Java中的最佳实践,硝苯地平缓释片后, 你能够将一组数据库操作放在一个斗破天穹之无上之境,10 JDBC在Java中的最佳实践,硝苯地平缓释片业务中,而主动提交形式每次履行SQL句子都将履行自己的业务, 并且在履行完毕提交。

4. 运用Batch Update

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

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

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

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

在第一条最佳实践中,咱们现已说过要运用PreparedStatment能够防止注入余姚天气预报,而运用? 大护法或许其他占位符也会提高功能,因斗破天穹之无上之境,10 JDBC在Java中的最佳实践,硝苯地平缓释片为这样数据库就能够使禁漫用不同的参数履行相同的查询, 这个最佳实践带来更高的功能的一起也防止了SQL注入。

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

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

8. 挑选适宜的JDBC驱动

有四种JDBC驱动,分别是

  1. JDBC-ODBC Bridge driver (bridge driver)
  2. Native-API/partly Java driver (nati斗破天穹之无上之境,10 JDBC在Java中的最佳实践,硝苯地平缓释片ve driver)
  3. AllJa迪拜水下酒店va/Net提灯映桃花-protocol driver (middleware driver)
  4. All Java/Native-protocol driver (Pure java driver)

9. 尽量运用规范的SQL句子,然后在某种程度上防止数据库对SQL支撑的差异

不同的数据库厂商的数据库产品都灵支撑的SQL的语法会有必定的收支,为了斗破天穹之无上之境,10 JDBC在Java中的最佳实践,硝苯地平缓释片便利移植,我引荐运用规范的ANSI SQL规范写SQL句子。

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

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

相关推荐

  • 暂无相关文章