Postgresql是一款开源的数据库,从MysqL被收购之后逐渐得到了广泛应用,可以说市面上的公司选择使用它,的确是一个大胆、创新的想法,postgresql拥有众多数据库的特性如orcale的sequence,还拥有很多商业数据库不具备的数据类型如几何类型,IP类型,并且也支持视图、触发器、数据库约束。如果觉得MysqL太单调可以试试Postgresql,一定大有收获。
postgresql的下载地址是:http://www.postgresql.org/download/
pgadmin的下载地址是:http://www.pgadmin.org/download/
一般情况下postgresql可以成功安装,如果安装不了或者安装之后服务无法启动,可以检查一下电脑上是不是安装过MysqL cluster数据库集群,如果安装过先卸载,重启电脑之后再安装一次就没问题了,至于pgadmin点几次下一步就能安装成功了
二 pgadmin的简单使用
1 连接数据库
填写相应信息,点确定即可
2 数据库与表的创建
也可以使用客户端工具添加主键、外键等
三 使用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 */ @Test public 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 */ @Test public 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 */ @Test public 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 */ @Test public 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等。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。