第二章.JDBC驱动设置

获得驱动

你可以从PostgreSQL JDBC站点下载预编译版本驱动。

此外,你可以自己从源代码编译构建驱动,如果你需要对源代码进行修改,这一步是必须的。为了构建JDBC驱动,你需要Ant1.5+及一个JDK。Ant是一个构建基于Java的包的特殊工具。你可以从Ant web site下载。

如果你安装了多个Java编译器,那么就依赖于Ant配置使用的哪个编译器。预编译Ant分发版本一般情况下会读取一个.antrc文件,该文件位于用户主目录下用于对Ant进行配置。例如,使用非默认JDK,你可以这样做:

JAVA_HOME=/usr/local/jdk1.6.0_07
JAVACMD=$JAVA_HOME/bin/java

为了编译驱动,只需简单在顶级目录上运行ant。编译完成后的驱动将位于jars/postgresql.jar。编译完成的驱动是基于当前运行的Java版本构建的。如果你使用1.4或者1.5JDK构建驱动,则该版本将支持JDBC3规范,如果你使用1.6或者更高的版本JDK来构建驱动,都符合JDBC4规范。

设置Class Path

为了使用驱动,可以从源代码构建postgresql.jar文件,否则它很可能需要放置在class path中(命名的形式:postgresql-[server version].[build number].jdbc[JDBC version].jar,例如postgresql-8.0-310.jdbc3.jar),既可以将其放置在CLASSPATH环境变量,或者在Java命令行中使用flags。

例如,假设有个应用使用JDBC驱动访问数据库,该应用安装在/usr/local/lib/myapp.jar。PostgreSQL JDBC驱动安装在/usr/local/pgsql/share/java/postgresql.jar。为了使应用运行起来,我们使用以下指令:

export CLASSPATH=/usr/local/lib/myapp.jar:/usr/local/pgsql/share/java/postgresql.jar:.
java MyApp

从应用加载驱动的内容请看第三章,初始化驱动

为JDBC准备数据库服务器

因为Java并不支持使用unix sockets,PostgreSQL服务器必须通过配置来支持TCP/IP连接。从8.0版本开始,TCP/IP允许从localhost进行连接。为了允许连接到其他的接口而非环回接口,你必须修改postgresql.conf文件中的listen_address字段的设置。

对于服务器版本高于8.0的,则不会有任何默认的监听端口,所以你必须在postgresql.conf文件中自己设置tcpip_socket=true。

服务器已经监听了正确的TCP/IP连接后,下一步就是确保用户被允许连接到服务器。客户端授权是在pg_hba.conf文件中设置。你可以在PostgreSQL文档中查看细节。JDBC驱动支持trust, password, md5及crypt授权方法。

创建数据库

当数据库创建完毕,并且可以通过使用JDBC来访问的时候,你应该为数据选定适当的编码。许多其他的用户端接口并不关心你发送和接收时的数据,这种行为可能使得你所做的操作并不正确,但是Java会保证你的数据通过了适当的编码。不要使用数据库的SQL_ASCII的编码方式。因为这并非是一种编码类型,并且在你存储数据的时候出现许多的问题,例如你存储的数据并不满足ASCII的7位编码方式。假如你不了解你所需要的编码字符集是哪种,或者不确信你将存储什么,那么可以采用默认的UNICODE编码方式。

    原文作者:orange_ven
    原文地址: https://www.jianshu.com/p/881d199a93e9
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞