1 下载安装postgreSQL
地址:http://www.postgresql.org/download/
在postgreSQL上可以通过可视化工具生成及处理数据;也可以通过sql语句来实现。
2 生成porperties文件,若是不用这个文件,就需要将信息写在代码中。但是有这个文件会更好,将配置的信息写在此,有更好的可读性。
database.properties:
jdbc.drivers=org.postgresql.Driver
jdbc.url=jdbc:postgresql://127.0.0.1:5432/postgres
jdbc.username=username
jdbc.password=password
jdbc.url=jdbc:postgresql://127.0.0.1:5432/postgres
jdbc.username=username
jdbc.password=password
3 下载数据库驱动JAR文件
地址:http://jdbc.postgresql.org/download.html
然后将JAR文件导入到工程,供程序使用。(方法:右键点击工程,build path导入包)
4 编写java代码:
import java.sql.*;
import java.io.*;
import java.util.*;
class Test {
public static void main(String args[]) throws ClassNotFoundException {
try {
runTest();
} catch (SQLException ex) {
for (Throwable t : ex)
t.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
}
public static void runTest() throws SQLException, IOException,
ClassNotFoundException {
Connection conn = getConnection();
try {
Statement stat = conn.createStatement();
stat.executeUpdate("CREATE TABLE Greetings (Message CHAR(20))");
stat.executeUpdate("INSERT INTO Greetings VALUES ('JAVA!')");
stat.executeUpdate("INSERT INTO Greetings VALUES ('hello, world!')");
ResultSet result = stat.executeQuery("SELECT * FROM Greetings");
while (result.next())
System.out.println(result.getString(1));
result.close();
stat.executeUpdate("DROP TABLE Greetings");
} finally {
conn.close();
}
}
public static Connection getConnection() throws SQLException, IOException {
Properties props = new Properties();
FileInputStream in = new FileInputStream("database.properties");
props.load(in);
in.close();
String drivers = props.getProperty("jdbc.drivers");
if (drivers != null)
System.setProperty("jdbc.drivers", drivers);
String url = props.getProperty("jdbc.url");
String username = props.getProperty("jdbc.username");
String password = props.getProperty("jdbc.password");
return DriverManager.getConnection(url, username, password);
}
}
5 常用的API:
java.sql.DriverManager 1.1-----------
static Connection getConnection(String url, String user, String password)
建立一个到指定数据库的连接,并返回一个Connection对象。
java.sql.Connection 1.1-------------
Statement createStatement()
创建一个Statement对象,用以执行不带参数的SQL查询和更新。
void close()
立即关闭当前的连接以及释放由它所创建的JDBC资源。
java.sql.Statement 1.1-----------
ResultSet executeQuery(String sqlQuery)
执行给定字符串中的SQL语句,并返回一个用于查看查询结果的ResultSet对象。
int executeUpdate(String sqlStatement)
执行 INSERT, UPDATE, 或是 DELETE 等SQL语句,也可以执行数据定义语言,如 CREATE TABLE返回受影响的记录总数。
boolean execute(String sqlStatement)
执行字符串中指定的SQL语句。
ResultSet getResultSet()
返回前一条查询语句的结果集。
int getUpdateCount()
返回受前一条更新语句影响的行数。
void close()
关闭statement对此及它对应的结果集。
boolean isClosed() 6
若关闭,返回true。
java.sql.ResultSet 1.1------------
boolean next()
将结果集中的当前行向前移动一行。若是到达最后以上后面,返回false。注意:初始情况下必须调用该方法才能转到第一行。
Xxx getXxx(int columnNumber)
Xxx getXxx(String columnLabel) (Xxx 数据类型,如int, double, String, Date)
用给定的列序号或列标签返回该列的值,并将值转换成指定的类型。
int findColumn(String columnName)
根据列名,返回该列的序号。
void close()
立即关闭当前的结果集。
int getType() 1.2
返回结果集的类型,返回值为以下常量之一:TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE, or TYPE_SCROLL_SENSITIVE
static Connection getConnection(String url, String user, String password)
建立一个到指定数据库的连接,并返回一个Connection对象。
java.sql.Connection 1.1-------------
Statement createStatement()
创建一个Statement对象,用以执行不带参数的SQL查询和更新。
void close()
立即关闭当前的连接以及释放由它所创建的JDBC资源。
java.sql.Statement 1.1-----------
ResultSet executeQuery(String sqlQuery)
执行给定字符串中的SQL语句,并返回一个用于查看查询结果的ResultSet对象。
int executeUpdate(String sqlStatement)
执行 INSERT, UPDATE, 或是 DELETE 等SQL语句,也可以执行数据定义语言,如 CREATE TABLE返回受影响的记录总数。
boolean execute(String sqlStatement)
执行字符串中指定的SQL语句。
ResultSet getResultSet()
返回前一条查询语句的结果集。
int getUpdateCount()
返回受前一条更新语句影响的行数。
void close()
关闭statement对此及它对应的结果集。
boolean isClosed() 6
若关闭,返回true。
java.sql.ResultSet 1.1------------
boolean next()
将结果集中的当前行向前移动一行。若是到达最后以上后面,返回false。注意:初始情况下必须调用该方法才能转到第一行。
Xxx getXxx(int columnNumber)
Xxx getXxx(String columnLabel) (Xxx 数据类型,如int, double, String, Date)
用给定的列序号或列标签返回该列的值,并将值转换成指定的类型。
int findColumn(String columnName)
根据列名,返回该列的序号。
void close()
立即关闭当前的结果集。
int getType() 1.2
返回结果集的类型,返回值为以下常量之一:TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE, or TYPE_SCROLL_SENSITIVE