標籤:postgresql jdbc
PostgreSQL是一款開源的資料庫,從mysql被收購之後逐漸得到了廣泛應用,可以說市面上的公司選擇使用它,的確是一個大膽、創新的想法,postgresql擁有眾多資料庫的特性如orcale的sequence,還擁有很多商務資料庫不具備的資料類型如幾何類型,IP類型,並且也支援視圖、觸發器、資料庫約束。如果覺得mysql太單調可以試試PostgreSQL,一定大有收穫。
一 postgresql資料庫以及用戶端的安裝
postgresql的是:http://www.postgresql.org/download/
pgadmin的是:http://www.pgadmin.org/download/
一般情況下postgresql可以成功安裝,如果安裝不了或者安裝之後服務無法啟動,可以檢查一下電腦上是不是安裝過mysql cluster資料庫叢集,如果安裝過先卸載,重啟電腦之後再安裝一次就沒問題了,至於pgadmin點幾次下一步就能安裝成功了
二 pgadmin的簡單使用
1 串連資料庫
填寫相應資訊,點確定即可
2 資料庫與表的建立
也可以使用用戶端工具添加主鍵、外鍵等
3 添加使用者
三 使用jdbc操作postgresql
準備:pgsql的jdbc開發包(jar包)-------不能缺少
1 jdbc工具類
package org.lxh;import java.sql.*;import javax.naming.Context;import javax.naming.InitialContext;public class DBManager {public static final String DBDRIVER = "org.postgresql.Driver";public static final String DBURL = "jdbc:postgresql://localhost/mypgsql";public static final String DBUSER = "postgres";public static final String DBPASS = "root";private Connection conn = null;public Connection Creatconn() {try {Class.forName(DBDRIVER);conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);return conn;} catch (Exception fe) {System.err.println("Creatconn(): " + fe.getMessage());return null;}}public void Release() throws SQLException {if (conn != null) {conn.close();}}}
2 crud操作
package org.lxh;import static org.junit.Assert.*;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import org.junit.Test;public class MyJunit {/**插入資料 * @throws Exception */@Testpublic void testInsert() throws Exception {DBManager d=new DBManager();Connection conn=d.Creatconn(); String sql="insert into student(name,password) values(?,?)"; PreparedStatement pstmt=conn.prepareStatement(sql); pstmt.setString(1, "林志玲"); pstmt.setString(2, "123456"); int flag=pstmt.executeUpdate(); if(flag>0){ System.out.println("資料插入成功"); }else{ System.out.println("資料插入失敗"); } pstmt.close();d.Release();}/**刪除記錄 * @throws Exception */@Testpublic void testDelete() throws Exception {DBManager d=new DBManager();Connection conn=d.Creatconn(); String sql="delete from student where id=?"; PreparedStatement pstmt=conn.prepareStatement(sql); pstmt.setInt(1, 0); int flag=pstmt.executeUpdate(); if(flag>0){ System.out.println("資料刪除成功"); }else{ System.out.println("資料刪除失敗"); } pstmt.close();d.Release();}/**修改記錄 * @throws Exception */@Testpublic void testUpdate() throws Exception {DBManager d=new DBManager();Connection conn=d.Creatconn(); String sql="update student set name=? where id=?"; PreparedStatement pstmt=conn.prepareStatement(sql); pstmt.setString(1, "蘇有朋"); pstmt.setInt(2, 2); int flag=pstmt.executeUpdate(); if(flag>0){ System.out.println("資料修改成功"); }else{ System.out.println("資料修改失敗"); } pstmt.close();d.Release();}/**查詢 * @throws Exception */@Testpublic void testQuery() throws Exception {DBManager d=new DBManager();Connection conn=d.Creatconn(); String sql="select * from student"; PreparedStatement pstmt=conn.prepareStatement(sql); ResultSet rs=pstmt.executeQuery(); while(rs.next()){ System.out.println("姓名:"+rs.getString("name")+",密碼:"+rs.getString("password")); } pstmt.close();d.Release();}}
注意事項:postgresql對大小寫敏感,表、視圖、序列的命令盡量使用小寫,也不要使用關鍵字如user等。
PostgreSQL新手入門