博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
postgresql安装,java简单使用postgresql
阅读量:4481 次
发布时间:2019-06-08

本文共 5528 字,大约阅读时间需要 18 分钟。

一 整合

由于本人的学过的技术太多太乱了,于是决定一个一个的整合到一个springboot项目里面。

附上自己的github项目地址

附上汇总博文地址

以整合功能

spring-boot,FusionChart,thymeleaf,vue,ShardingJdbc,mybatis-generator,微信分享授权,drools,spring-security,spring-jpa,webjars,Aspect,drools-drt,rabbitmq,zookeeper,mongodb,mysql存储过程,前端的延迟加载,netty

 

这次就来整合下postgresql

 

二 安装

postgresql了解的主要原因是因为腾讯很多招聘都有要求,那么不管怎么说crud折腾一次是必要的

但是这玩意好像他们都不更新几年了....

安装没什么难的,安装程序点下去就是了

 

就是有几个坑

1.这里输入框没用户名,用户名在描述里面,而且没高亮等。用户名 postgres,这里我点下去安装成功硬是不知道用户名是什么,然后百度了一番....

2.选环境,具体影响什么我不知道,但是上网看到C是没环境,所以我选了C。

虽然里面有中文的选项,但是既然是程序员,大家都知道中文版是有多坑,所以我第一反应就无视,有成功的话,留言科普下吧。

 

三 代码

public class PostgresqlConnect {    static String url = "jdbc:postgresql://127.0.0.1:5432/test";    static String usr = "postgres";    static String psd = "123456";    public static void main(String args[]) {        Connection c = null;        Statement stmt = null;        ResultSet rs = null;        try {            Class.forName("org.postgresql.Driver");            c = DriverManager                    .getConnection(url,                            usr, psd);            System.out.println("Opened database test");            String sql = "";//            stmt = c.createStatement();//             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);//            System.out.println("CREATE TABLE COMPANY");//            stmt = c.createStatement();//             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);//            System.out.println("insert data end");//            stmt = c.createStatement();//            ResultSet rs = stmt.executeQuery("SELECT * FROM COMPANY;");//            while (rs.next()) {//                int id = rs.getInt("id");//                String name = rs.getString("name");//                int age = rs.getInt("age");//                String address = rs.getString("address");//                float salary = rs.getFloat("salary");//                System.out.println("ID = " + id);//                System.out.println("NAME = " + name);//                System.out.println("AGE = " + age);//                System.out.println("ADDRESS = " + address);//                System.out.println("SALARY = " + salary);//                System.out.println();//            }//            System.out.println("select data end");            stmt = c.createStatement();            sql = "UPDATE COMPANY set SALARY = 21000.00 where ID=1;";            stmt.executeUpdate(sql);//            c.commit();            rs = stmt.executeQuery("SELECT * FROM COMPANY where ID=1;");            while (rs.next()) {                int id = rs.getInt("id");                String name = rs.getString("name");                int age = rs.getInt("age");                String address = rs.getString("address");                float salary = rs.getFloat("salary");                System.out.println("ID = " + id);                System.out.println("NAME = " + name);                System.out.println("AGE = " + age);                System.out.println("ADDRESS = " + address);                System.out.println("SALARY = " + salary);                System.out.println();            }            System.out.println("update data end");            stmt = c.createStatement();             sql = "DELETE from COMPANY where ID=2;";            stmt.executeUpdate(sql);             rs = stmt.executeQuery( "SELECT * FROM COMPANY;" );            while ( rs.next() ) {                int id = rs.getInt("id");                String  name = rs.getString("name");                int age  = rs.getInt("age");                String  address = rs.getString("address");                float salary = rs.getFloat("salary");                System.out.println( "ID = " + id );                System.out.println( "NAME = " + name );                System.out.println( "AGE = " + age );                System.out.println( "ADDRESS = " + address );                System.out.println( "SALARY = " + salary );                System.out.println();            }            System.out.println("delete data end");            stmt.close();            c.close();        } catch (Exception e) {            e.printStackTrace();        }    }}

还是那句话,代码跑不成功,去我项目试一下

四 总结

其实,学这玩意用不了我多少时间,但是思考腾讯为什么用postgresql和mysql花了我不少时间。

我把自己的猜测说一下

早期postgresql性能优于mysql,甚至有博客说是mysql的三倍。但是在mysql 5.5就被追平,5.7反超,所以说腾讯用postgresql是历史原因。

postgresql在多年前就支持json。mysql还没有,那么只要不引入其他支持json的等postgresql还是有一战之力的,但是5.7mysql也支持了...

 

那么除去性能除去json,腾讯同时使用这两数据库的原因估计就是postgresql在高压环境下性能并没有下降,而myql明显下降。还有各种数据格式的支持。sql编程能力强。

有兴趣的可以看看这个博客,虽然是只有文字没有图像干活 https://blog.csdn.net/u012679583/article/details/78291846

转载于:https://www.cnblogs.com/ydymz/p/9858795.html

你可能感兴趣的文章
mini web框架-3-替换模板
查看>>
Siamese Network简介
查看>>
第六节 MongoDB 状态监控、备份复制及自动分片
查看>>
svg学习(三)rect
查看>>
博客园博文生成章节目录
查看>>
ruby 模块 的引入
查看>>
CI Weekly #21 | iOS 持续集成快速入门指南
查看>>
xml 校验
查看>>
Jquery获取输入框属性file,ajax传输后端,下载图片
查看>>
深入浅出Visual_C动态链接库(Dll)编程(宋宝华)----整理(word)
查看>>
docker运行环境安装-后续步骤(二)
查看>>
Python学习——02-Python基础——【3集合与函数】
查看>>
NPOI导出excel表格应用
查看>>
tensorflow从入门到放弃-0
查看>>
解锁scott用户
查看>>
多态的理解
查看>>
AspNet Core 发布到Linux系统和发布IIS 注意项
查看>>
Windows添加.NET Framework 3.0 NetFx3 失败 - 状态为:0x800f0950
查看>>
隐藏显示终端的光标(shell echo,linux c printf)
查看>>
SQL Server 存储过程
查看>>