在java中尝试使用资源Statement for JDBC
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在java中尝试使用资源Statement for JDBC,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1961字,纯文字阅读大概需要3分钟。
内容图文
![在java中尝试使用资源Statement for JDBC](/upload/InfoBanner/zyjiaocheng/734/3da7e5f58d6e4404b2bfb78f761747ef.jpg)
Hive JDBC的有用代码:
Connection con = null;
Statement stmt = null
try {
Class.forName("org.apache.hive.jdbc.HiveDriver");
con = DriverManager.getConnection(connectionUri, userName, password);
stmt = con.createStatement();
stmt.executeUpdate(query);
} catch (ClassNotFoundException cex) {
cex.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (con != null) {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
我想在finally块中删除try-catch.
所以我尝试了The try-with-resources Statement.
try (Class.forName("org.apache.hive.jdbc.HiveDriver");
Connection con = DriverManager.getConnection(connectionUri, userName, password);
Statement stmt = con.createStatement();){
stmt.executeUpdate(query);
} catch (ClassNotFoundException cex) {
cex.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
我认为这不是正确的方法.
Class.forName(“org.apache.hive.jdbc.HiveDriver”)不应该在尝试中.我应该为此单独试一试吗?
try {
Class.forName("org.apache.hive.jdbc.HiveDriver");
} catch (ClassNotFoundException cex) {
cex.printStackTrace();
}
try (Connection con = DriverManager.getConnection(connectionUri, userName, password);
Statement stmt = con.createStatement();){
stmt.executeUpdate(query);
} catch (SQLException e) {
e.printStackTrace();
}
这是正确的方式还是我错过了什么?
解决方法:
try-with-ressource背后的想法是关闭AutoCloseable类.
因此,在使用它之后应该关闭的类的每个用法(Ressource)都可以与try-with-ressource一起使用(例如Connection).您不必手动关闭它(例如在finally块中).
是的,你的想法是正确的:
> try / catch for Class.forName(“org.apache.hive.jdbc.HiveDriver”); – 因为这不是AutoCloseable
> try-with-ressource for Connection con = DriverManager.getConnection(connectionUri,userName,password);
语句stmt = con.createStatement(); – 因为Connection和Statement实现了AutoCloseable
参考:
https://docs.oracle.com/javase/7/docs/api/java/lang/AutoCloseable.html
内容总结
以上是互联网集市为您收集整理的在java中尝试使用资源Statement for JDBC全部内容,希望文章能够帮你解决在java中尝试使用资源Statement for JDBC所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。