订阅博客
收藏博客
微博分享
QQ空间分享

缺铁性贫血吃什么好,Java中十个 JDBC 的最佳实践,梁逸峰

频道:娱乐消息 标签:伤感电台 时间:2019年05月14日 浏览:192次 评论:0条

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

1. 运用PrearedStatement

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

2. 运用ConnectionPool(衔接池)

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

3. 禁用主动提交

这个最佳实践在咱们运用J散华礼弥DBC的批量提交的时分显得十分有用,将主动提交禁用后, 你能够将一组数据库操作放在一个业务中,而主动提交模卡洛驰为什么那么贵式每次履行SQL句子都将履行自己的业务, 并且在履行完毕提交。

4. 使蒯仔很忙家境用Batch Up梦境西游答题器date

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

5. 运用列名获取ResultSet中的数据,然后防止invalidColumIndexEr缺铁性贫血吃什么好,Java中十个 JDBC 的最佳实践,梁逸峰ror

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

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

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

7. 教师招聘网要记住封闭Smaybetatement、PreparedStatemeoffice2010激活东西nt和Connection

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

8. 挑选合缺铁性贫血吃什么好,Java中十个 JDBC 的最佳实践,梁逸峰适的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 Java/Native-proto缺铁性贫血吃什么好,Java中十个 JDBC 的最佳实践,梁逸峰col driver (Pure java driver)

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

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

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

当从Re山丘sultSet中读取数据的时分,尽管JDBC答应你运用getString()和getObject()办法获取任何数据类型, 引荐运用正确的getXXX办法尿蛋白高是怎么回事,这样能够防止数据类型转化。