现在位置:首页 > 数据库 > PostgreSQL > PostgreSQL连接JAVA接口

PostgreSQL连接JAVA接口

来源:原创文章    由 易百 更新版本    浏览:人次

安装

在我们开始之前,我们需要在Java程序中使用PostgreSQL,确保PostgreSQL的JDBC和Java已经在机器上安装。可以检查机器上是否安装了Java。现在,让我们检查如何设置JDBC驱动。 yiibai.com

  • 从PostgreSQL的JDBC库下载最新版本的 postgresql-(VERSION).jdbc.jar

    www.yiibai.com

  • 添加下载的jar文件postgresql-(VERSION).jdbc.jar在类路径中,可以使用它沿与-classpath选项,如下面例子。 yiibai.com

如果有关于Java JDBC概念了解不是很多,那么建议花半小时学习JDBC教程

yiibai.com

连接到数据库

下面的Java代码显示了如何连接到一个现有的数据库。如果数据库不存在,那么它就会被创建,终于将返回一个数据库对象。

yiibai.com

import java.sql.Connection;
import java.sql.DriverManager;

public class PostgreSQLJDBC {
   public static void main(String args[]) {
      Connection c = null;
      try {
         Class.forName("org.postgresql.Driver");
         c = DriverManager
            .getConnection("jdbc:postgresql://localhost:5432/testdb",
            "postgres", "123");
      } catch (Exception e) {
         e.printStackTrace();
         System.err.println(e.getClass().getName()+": "+e.getMessage());
         System.exit(0);
      }
      System.out.println("Opened database successfully");
   }
} 

www.yiibai.com

在编译和运行上面的程序,找到pg_hba.conf文件在PostgreSQL安装目录中,并添加下面一行: www.yiibai.com

# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
 yiibai.com 

可以start/restart Postgres的服务器的情况下,它没有运行使用下面的命令: yiibai.com

[root@host]# service postgresql restart
Stopping postgresql service:                               [  OK  ]
Starting postgresql service:                               [  OK  ] yiibai.com 

现在让我们来编译和运行上面的程序,以获得testdb连接。在这里,我们使用的是postgresas的用户ID和密码123来访问数据库。可以更改此数据库配置和设置。我们也假设当前版本的JDBC驱动程序为postgresql-9.2-1002.jdbc3.jar,可在当前路径访问。

yiibai.com

C:\JavaPostgresIntegration>javac PostgreSQLJDBC.java
C:\JavaPostgresIntegration>java -cp c:\tools\postgresql-9.2-1002.jdbc3.jar;C:\JavaPostgresIntegration PostgreSQLJDBC
Open database successfully
 www.yiibai.com 

创建表

下面的Java程序将被用于先前打开的数据库中创建一个表。确保这个表在目标数据库中没有创建过。 www.yiibai.com

import java.sql.*;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;


public class PostgreSQLJDBC {
   public static void main( String args[] )
     {
       Connection c = null;
       Statement stmt = null;
       try {
         Class.forName("org.postgresql.Driver");
         c = DriverManager
            .getConnection("jdbc:postgresql://localhost:5432/testdb",
            "manisha", "123");
         System.out.println("Opened database successfully");

         stmt = c.createStatement();
         String sql = "CREATE TABLE COMPANY " +
                      "(ID INT PRIMARY KEY     NOT NULL," +
                      " NAME           TEXT    NOT NULL, " +
                      " AGE            INT     NOT NULL, " +
                      " ADDRESS        CHAR(50), " +
                      " SALARY         REAL)";
         stmt.executeUpdate(sql);
         stmt.close();
         c.close();
       } catch ( Exception e ) {
         System.err.println( e.getClass().getName()+": "+ e.getMessage() );
         System.exit(0);
       }
       System.out.println("Table created successfully");
     }
} 

yiibai.com

编译和执行程序时,它会创建公司表testdb的数据库中,并会显示以下两行:

www.yiibai.com

Opened database successfully
Table created successfully
 

yiibai.com

INSERT 操作

下面的Java程序,显示我们如何在上面的例子中创建COMPANY 表中的记录: yiibai.com

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

public class PostgreSQLJDBC {
   public static void main(String args[]) {
      Connection c = null;
      Statement stmt = null;
      try {
         Class.forName("org.postgresql.Driver");
         c = DriverManager
            .getConnection("jdbc:postgresql://localhost:5432/testdb",
            "manisha", "123");
         c.setAutoCommit(false);
         System.out.println("Opened database successfully");

         stmt = c.createStatement();
         String sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) "
               + "VALUES (1, 'Paul', 32, 'California', 20000.00 );";
         stmt.executeUpdate(sql);

         sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) "
               + "VALUES (2, 'Allen', 25, 'Texas', 15000.00 );";
         stmt.executeUpdate(sql);

         sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) "
               + "VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );";
         stmt.executeUpdate(sql);

         sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) "
               + "VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );";
         stmt.executeUpdate(sql);

         stmt.close();
         c.commit();
         c.close();
      } catch (Exception e) {
         System.err.println( e.getClass().getName()+": "+ e.getMessage() );
         System.exit(0);
      }
      System.out.println("Records created successfully");
   }
} www.yiibai.com 

当程序编译和执行,它会创建COMPANY表中的记录,并显示以下两行:

www.yiibai.com

Opened database successfully
Records created successfully
 www.yiibai.com 

本站文章除注明转载外,均为本站原创或编译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,传播学习教程;
转载请注明:文章转载自:易百教程 [http://www.yiibai.com]
本文标题:PostgreSQL连接JAVA接口
转载请保留原文链接:http://www.yiibai.com/html/postgresql/2013/080895.html
上一篇:PostgreSQL连接C/C++接口实例      下一篇:PostgreSQL连接PHP