springboot整合postgresql

使用docker安装postgres

简单起见,这里用docker来安装postgresql

docker pull postgres
docker run --name postgres \
 -e POSTGRES_PASSWORD=123456 \
 -p 5432:5432 \
 -v /usr/local/docker/postgresql/data:/var/lib/postgresql/data \
 -d postgres

postgres客户端

pgAdmin4镜像网站下载:https://mirrors.aliyun.com/postgresql/pgadmin/pgadmin4/

使用pgAdmin4创建表,手动创建即可,注意,表名和表字段使用下划线方式命名,不要用驼峰,不然映射到Java 会报找不到表的错
在这里插入图片描述

为表id字段设置主键自增

第一步:新建 sequence
在这里插入图片描述
第二步:为主键设置Sequences:

alter table public.kss_user_pay alter column myid set default nextval('public.kss_user_pay_id_seq');

第三步:查看是否已经绑定
在这里插入图片描述

查看最大连接数

--获取当前实例的总的连接数
select count(1) from pg_stat_activity ;
--获取当前实例的空闲连接数
select count(1) from pg_stat_activity where state = 'idle';

show max_connections;
select name, setting, context, source from pg_settings where name = 'max_connections';

select * from pg_file_settings where error is not null;

可以更改最大连接数,避免多个客户端连接不上的问题

springboot整合postgres

持久层还用的mybatis,先导入下依赖

<dependency>
	<groupId>org.postgresql</groupId>
	<artifactId>postgresql</artifactId>
</dependency>

application.yml配置,这块,以前mysql是怎么配,postgres就怎么配,换个用户密码的事儿

spring:
  datasource:
    type: com.zaxxer.hikari.HikariDataSource
    #PostgreSQL驱动
    driver-class-name: org.postgresql.Driver
    #PostgreSQL配置
    url: jdbc:postgresql://192.168.133.128:5432/postgres?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=utf-8&useSSL=false
    #用户密码
    username: postgres
    password: 123456
    hikari:
      connection-timeout: 60000
      validation-timeout: 3000
      idle-timeout: 60000
      login-timeout: 5
      max-lifetime: 60000
      maximum-pool-size: 400
      minimum-idle: 100
      read-only: false

postgresql 数据类型到 Java 属性的映射

这点其实大部分跟 MySQL 差不多,

character varying -> String
timestamp without time zone -> Date
integer -> Integer
UUID -> UUID
这里重点看一下 UUID 映射处理
在这里插入图片描述
然后代码中需要使用 UUID.fromString 做个转换,比如下面这样:
在这里插入图片描述

对 postgresql 增删改查

对 postgresql 增删改查代码和对mysql的增删改查没有任何区别,我们只是更换了数据源,代码不用做任何改动(比如说之前是通过 mybatis 操作 mysql,现在只是把 mysql 换成 postgre,代码还是保持原来一样即可)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值