在 Java 中使用外部库|Linux 中国

图片
导读:外部库填补了 Java 核心库中的一些功能空白。                                 
本文字数:9914,阅读时长大约:11分钟
https://linux.cn/article-13769-1.html
作者:Chris Hermansen
译者:unigeorge
Java 自带有一组核心库,其中包含了定义常用数据类型和相关行为的库(例如 和 )、与主机操作系统交互的实用程序(例如 和 ),以及一些用来管理安全性、处理网络通信、创建或解析 XML的有用的子系统。鉴于核心库的丰富性,程序员通常很容易在其中找到有用的组件,以减少需要编写的代码量。
另一种常见的 Java 库类型是系统组件的接口(例如数据库系统接口),本文会着眼于使用此类接口连接到PostgreSQLopensource.com数据库,并得到一些有趣的信息。首先,我们来回顾一下库的重要部分。
什么是库?
库(library)里自然包含的是一些有用的代码。但为了发挥用处,代码需要以特定方式进行组织,特定的方式使 Java 程序员可以访问其中组件来解决手头问题。
图片
API documentation for Apache Commons Math
这类文档可用作参考文档,不适合作为学习如何使用库的教程。比如,如果你知道什么是单变量实函数并查看包 ,就可以试着使用该包来组合函数定义,然后使用 包来查找刚刚创建的函数的零点。但如果你不知道,就可能需要更多学习向的文档,也许甚至是一个实际例子,来读懂参考文档。
这种文档结构还有助于阐明包(package)(相关 Java 类和接口定义的集合)的含义,并显示特定库中捆绑了哪些包。
要访问外部库提供的功能,有两个主要步骤:
2. 使用恰当的 语句访问程序源代码中的包和类。
其余的步骤就与使用 等 Java核心类相同,使用库提供的类和接口定义来编写代码。很简单对吧?不过也没那么简单。首先,你需要了解库组件的预期使用模式,然后才能编写代码。
示例:连接 PostgreSQL 数据库
在数据库系统中访问数据的典型使用步骤是:
1. 访问正在使用的特定数据库软件代码。
2. 连接到数据库服务器。
3. 构建查询字符串。
4. 执行查询字符串。
5. 针对返回的结果,做需要的处理。
6. 断开与数据库服务器的连接。
接下来我们使用 PostgreSQL,看看这一过程是如何进行的。
访问特定数据库的代码
因为类加载器可能失败,失败时会抛出异常,所以将对 的调用放在 代码块中。
如果你使用javac编译上面的代码,然后用java运行,会报异常:
类加载器要求类路径中有包含 PostgreSQL JDBC 驱动程序实现的 .jar 文件:
连接到数据库服务器
以下代码实现了加载 JDBC 驱动程序和创建到 PostgreSQL 数据库的连接:
编译并运行上述代码:
关于上述的一些注意事项:
◈ 注释 后面的代码使用系统属性来设置连接参数(在本例中参数为 PostgreSQL 用户名和密码)。代码也可以从 Java 命令行获取这些参数并将所有参数作为参数包传递,同时还有一些其他 选项可用于单独传递参数。
◈ JDBC 需要一个用于定义数据库的 URL,它在上述代码中被声明为 并与连接参数一起传递给 方法。
◈ 代码使用 语句,它会在 块中的代码完成后自动关闭连接。Stack Overflowstackoverflow.com上对这种方法进行了长期的讨论。
◈ 语句提供对 实例的访问,并可以在其中执行 SQL 语句;所有错误都会被同一个 语句捕获。
用数据库的连接处理一些有趣的事情
在上述代码中,一旦有了 实例,它就会定义一个查询字符串(上面的注释 ),创建一个 实例并用其来执行查询字符串,然后将其结果放入一个 实例。程序可以遍历该 实例来分析返回的结果,并以关闭 和 实例结束(上面的注释 )。
编译和执行程序会产生以下输出:
这是在一个简单的 Java 应用程序中使用 PostgreSQL JDBC 库的(非常简单的)示例。要注意的是,由于 库的设计方式,它不需要在代码中使用像 这样的 Java 导入语句,而是使用 Java 类加载器在运行时引入 PostgreSQL 代码的方式,也正因此无需在代码编译时指定类路径。
via:https://opensource.com/article/20/2/external-libraries-java
作者:Chris Hermansen选题:lujun9972译者:unigeorge校对:wxy
本文由LCTT原创编译,Linux中国荣誉推出
欢迎遵照 CC-BY-NC-SA 协议规定转载,
如需转载,请在文章下留言 “转载:公众号名称”,
我们将为您添加白名单,授权“转载文章时可以修改”。