一 整合

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

附上自己的github项目地址 https://github.com/247292980/spring-boot

附上汇总博文地址 https://www.cnblogs.com/ydymz/p/9391653.html

以整合功能

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

最新文章

  1. [笔记]ubuntu安装flashplayer
  2. 基于KEIL4开发ARM9(S3C2440)的裸机程序
  3. android 定义 程序 Scheme 接收特定URI开启Activity
  4. 页面所有的button绑定同一个事件,点击不同的button赋值不同
  5. LINQ中实现 In 与 Not In
  6. E: Sub-process /usr/bin/dpkg returned an error code (1)
  7. sass笔记-2|Sass基础语法之让样式表更具条理性和可读性
  8. Javascript:简单拖拽效果的实现
  9. Openjudge-计算概论(A)-过滤多余的空格
  10. CFNetwork SSLHandshake failed (-9824) ios 9
  11. Archlinux 的U盘自动装载(二)升级到 udisks2
  12. Windows 10 碎片整理程序使用
  13. react-native WebView 返回处理 (非回调方法可解决)
  14. 转载skbbuf整理笔记
  15. [Swift]LeetCode37. 解数独 | Sudoku Solver
  16. 验证Xpath和CSS 路径是否有效
  17. FastJson之JsonObject, JsonString, JavaBean,List快速转换
  18. 【SpringMVC笔记】第四课 注解的处理器映射器和处理器适配器使用
  19. Redis安装与测试
  20. 【Kafka】Consumer配置

热门文章

  1. Linux 启动顺序
  2. 14.Nginx 文件名逻辑漏洞(CVE-2013-4547)
  3. jquery ajax + struts2用例
  4. 【TMF eTOM】业务流程框架介绍
  5. rxjs入门6之合并数据流
  6. 001.SQLServer高可用简介
  7. spring boot 使用 POI 读取Excel文件
  8. 反射实现增删改查(DAO层)——插入数据
  9. nginx 安装遇到的问题
  10. 利用CSS制作脸书