PostgreSQL连接JAVA接口

前端之家收集整理的这篇文章主要介绍了PostgreSQL连接JAVA接口前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

安装

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

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

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

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

连接到数据库

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

@H_404_44@
  1. importjava.sql.Connection;
  2. importjava.sql.DriverManager;
  3. publicclassPostgresqlJDBC{
  4. publicstaticvoidmain(Stringargs[]){
  5. Connectionc=null;
  6. try{
  7. Class.forName("org.postgresql.Driver");
  8. c=DriverManager
  9. .getConnection("jdbc:postgresql://localhost:5432/testdb",
  10. "postgres","123");
  11. }catch(Exceptione){
  12. e.printStackTrace();
  13. System.err.println(e.getClass().getName()+":"+e.getMessage());
  14. System.exit(0);
  15. }
  16. System.out.println("Openeddatabasesuccessfully");
  17. }
  18. }

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

@H_404_44@
  1. #IPv4localconnections:
  2. hostallall127.0.0.1/32md5

可以start/restartPostgres的服务器的情况下,它没有运行使用下面的命令:

@H_404_44@
  1. [root@host]#servicepostgresqlrestart
  2. Stoppingpostgresqlservice:[OK]
  3. Startingpostgresqlservice:[OK]

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

@H_404_44@
  1. C:\JavaPostgresIntegration>javacPostgresqlJDBC.java
  2. C:\JavaPostgresIntegration>java-cpc:\tools\postgresql-9.2-1002.jdbc3.jar;C:\JavaPostgresIntegrationPostgresqlJDBC
  3. Opendatabasesuccessfully

创建表

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

@H_404_44@
  1. importjava.sql.*;
  2. importjava.sql.Connection;
  3. importjava.sql.DriverManager;
  4. importjava.sql.Statement;
  5. publicclassPostgresqlJDBC{
  6. publicstaticvoidmain(Stringargs[])
  7. {
  8. Connectionc=null;
  9. Statementstmt=null;
  10. try{
  11. Class.forName("org.postgresql.Driver");
  12. c=DriverManager
  13. .getConnection("jdbc:postgresql://localhost:5432/testdb",
  14. "manisha","123");
  15. System.out.println("Openeddatabasesuccessfully");
  16. stmt=c.createStatement();
  17. Stringsql="CREATETABLECOMPANY"+
  18. "(IDINTPRIMARYKEYNOTNULL,"+
  19. "NAMETEXTNOTNULL,"+
  20. "AGEINTNOTNULL,"+
  21. "ADDRESSCHAR(50),"+
  22. "SALARYREAL)";
  23. stmt.executeUpdate(sql);
  24. stmt.close();
  25. c.close();
  26. }catch(Exceptione){
  27. System.err.println(e.getClass().getName()+":"+e.getMessage());
  28. System.exit(0);
  29. }
  30. System.out.println("Tablecreatedsuccessfully");
  31. }
  32. }

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

@H_404_44@
  1. Openeddatabasesuccessfully
  2. Tablecreatedsuccessfully

INSERT 操作

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

@H_404_44@
  1. importjava.sql.Connection;
  2. importjava.sql.DriverManager;
  3. importjava.sql.Statement;
  4. publicclassPostgresqlJDBC{
  5. publicstaticvoidmain(Stringargs[]){
  6. Connectionc=null;
  7. Statementstmt=null;
  8. try{
  9. Class.forName("org.postgresql.Driver");
  10. c=DriverManager
  11. .getConnection("jdbc:postgresql://localhost:5432/testdb","123");
  12. c.setAutoCommit(false);
  13. System.out.println("Openeddatabasesuccessfully");
  14. stmt=c.createStatement();
  15. Stringsql="INSERTINTOCOMPANY(ID,NAME,AGE,ADDRESS,SALARY)"
  16. +"VALUES(1,'Paul',32,'California',20000.00);";
  17. stmt.executeUpdate(sql);
  18. sql="INSERTINTOCOMPANY(ID,SALARY)"
  19. +"VALUES(2,'Allen',25,'Texas',15000.00);";
  20. stmt.executeUpdate(sql);
  21. sql="INSERTINTOCOMPANY(ID,SALARY)"
  22. +"VALUES(3,'Teddy',23,'Norway',SALARY)"
  23. +"VALUES(4,'Mark','Rich-Mond',65000.00);";
  24. stmt.executeUpdate(sql);
  25. stmt.close();
  26. c.commit();
  27. c.close();
  28. }catch(Exceptione){
  29. System.err.println(e.getClass().getName()+":"+e.getMessage());
  30. System.exit(0);
  31. }
  32. System.out.println("Recordscreatedsuccessfully");
  33. }
  34. }

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

  1. Openeddatabasesuccessfully
  2. Recordscreatedsuccessfully
@H_404_44@ @H_404_44@ http://wwwmaster.postgresql.org/download/mirrors-ftp?file=binary%2Fv8.1.4%2Fwin32%2Fpostgresql-8.1.4-1.zip 选择一个下载速度快的国家下载 postgresql数据库http://jdbc.postgresql.org/download.html下载jdbc驱动 安装 postgresql,建表
-- Table:testtable -- DROPTABLEtesttable; CREATE TABLE testtable ( idbigserial NOT NULL ,name varchar ( 30 ), CONSTRAINT testtable_pkey PRIMARY KEY (id) ) WITHOUTOIDS; ALTER TABLE testtableOWNER TO postgres;
CREATE SEQUENCEtesttable_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 3 CACHE 1 ; ALTER TABLE testtable_id_seqOWNER TO postgres;

连接测试...

package com.test; import org.postgresql. * ; import java.sql. * ; public class TestDB { public TestDB() { } public static void main(Stringargs[]) { System.out.print( " thisisatest " ); try { Class.forName( " org.postgresql.Driver " ).newInstance(); Stringurl = " jdbc:postgresql://localhost:5432/postgres " ; Connectioncon = DriverManager.getConnection(url, " postgres " , " 1234 " ); Statementst = con.createStatement(); Stringsql = " select*fromtesttable " ; ResultSetrs = st.executeQuery(sql); while (rs.next()) { System.out.print(rs.getInt( 1 )); System.out.println(rs.getString( 2 )); } rs.close(); st.close(); con.close(); } catch (Exceptionee) { System.out.print(ee.getMessage()); } } }

猜你在找的Postgre SQL相关文章