国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

PostgreSQL數(shù)據(jù)庫——Docker版本的postgres安裝 & Navicat連接方式+導(dǎo)入向?qū)褂?& SpringBoot結(jié)合Jpa使用PostgreSQL初步

這篇具有很好參考價(jià)值的文章主要介紹了PostgreSQL數(shù)據(jù)庫——Docker版本的postgres安裝 & Navicat連接方式+導(dǎo)入向?qū)褂?& SpringBoot結(jié)合Jpa使用PostgreSQL初步。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

引出


1.PostgreSQL數(shù)據(jù)庫初始,開源;
2.Docker版本的postgres安裝,以及掛載啟動(dòng);
3.Navicat連接方式+導(dǎo)入向?qū)褂?,?dǎo)入csv文件;
4.SpringBoot結(jié)合Jpa使用PostgreSQL初步;

postgres數(shù)據(jù)庫

PostgreSQL是一種開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),它是一種高度可擴(kuò)展的、可靠的、功能豐富的數(shù)據(jù)庫系統(tǒng)。以下是關(guān)于PostgreSQL的一些介紹:

開源性:PostgreSQL是一個(gè)開源項(xiàng)目,可以免費(fèi)使用和修改。它的源代碼可以被任何人查看、修改和貢獻(xiàn)。

關(guān)系型數(shù)據(jù)庫:PostgreSQL是一種關(guān)系型數(shù)據(jù)庫,它使用表格來存儲(chǔ)和組織數(shù)據(jù)。它支持SQL查詢語言,可以進(jìn)行復(fù)雜的數(shù)據(jù)操作和查詢。

可擴(kuò)展性:PostgreSQL具有良好的可擴(kuò)展性,可以處理大量的數(shù)據(jù)和高并發(fā)訪問。它支持水平擴(kuò)展和垂直擴(kuò)展,可以通過添加更多的服務(wù)器節(jié)點(diǎn)或增加硬件資源來提高性能。

可靠性:PostgreSQL具有高度可靠性和數(shù)據(jù)完整性。它支持事務(wù)處理和ACID(原子性、一致性、隔離性和持久性)特性,可以確保數(shù)據(jù)的一致性和可靠性。

功能豐富:PostgreSQL提供了許多高級(jí)功能,如復(fù)雜查詢、索引、觸發(fā)器、視圖、存儲(chǔ)過程、外鍵約束等。它還支持全文搜索、地理空間數(shù)據(jù)處理、JSON數(shù)據(jù)類型等先進(jìn)的功能。

跨平臺(tái)性:PostgreSQL可以在多種操作系統(tǒng)上運(yùn)行,包括Windows、Linux、Mac OS等。

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

Docker版本的postgres安裝

docker search postgres

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

docker pull postgres

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

運(yùn)行創(chuàng)建容器

docker run -it \
--name postgres \
--privileged \
-e POSTGRES_PASSWORD=123 \
-p 5432:5432 \
-v /usr/local/software/postgres/data:/var/lib/postgresql/data \
-d postgres
docker run --name postgres -e POSTGRES_PASSWORD=Abc1234% -p 5432:5432 -v /home/zx/postgres/data:/var/lib/postgresql/data -d postgres
  • –name postgres:指定容器的名稱;
  • -e POSTGRES_PASSWORD=Abc1234%:設(shè)置環(huán)境變量,這里為設(shè)定PostgreSQL數(shù)據(jù)庫的密碼;
  • -p 5432:5432:指定端口映射,前者為宿主機(jī)訪問端口,后者為容器內(nèi)端口。如果不指定端口映射,只有在容器內(nèi)可以訪問數(shù)據(jù)庫,外部是無法訪問的;
  • -v /home/zx/postgres/data:/var/lib/postgresql/data:v是volume的簡(jiǎn)寫,即綁定一個(gè)卷,冒號(hào)前的路徑為宿主機(jī)的路徑(如果指定路徑不存在會(huì)自動(dòng)創(chuàng)建目錄),冒號(hào)后為容器內(nèi)路徑。容器會(huì)把宿主機(jī)的目錄映射到容器內(nèi)的路徑,這樣容器運(yùn)行中生成的數(shù)據(jù)實(shí)際上就是寫到了宿主機(jī)的指定路徑上,即使容器刪除了,此路徑的文件也不會(huì)刪除,這樣就做到了數(shù)據(jù)庫的持久化存儲(chǔ)。還可以通過docker volume提供的相關(guān)命令顯式地創(chuàng)建volume,然后再掛載到容器上,這里不做介紹,請(qǐng)自行查詢相關(guān)內(nèi)容;
  • -d:表示后臺(tái)運(yùn)行容器;
  • postgres:表示鏡像的名稱,docker基于上步拉取的鏡像創(chuàng)建出容器;

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

查看日志

docker logs postgres

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

容器內(nèi)連接數(shù)據(jù)庫

docker exec -it postgres /bin/bash
  • exec:在容器中運(yùn)行命令
  • postgres:為容器名稱
  • -it:表示在當(dāng)前終端為容器分配一個(gè)偽終端
  • /bin/bash:容器內(nèi)運(yùn)行/bin/bash終端

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

[root@localhost data]# docker exec -it postgres bash
root@3283f4dbe299:/# su postgres
postgres@3283f4dbe299:/$ psql
psql (14.1 (Debian 14.1-1.pgdg110+1))
Type "help" for help.

postgres=# \l
                                 List of databases
   Name    |  Owner   | Encoding |  Collate   |   Ctype    |   Access privileges   
-----------+----------+----------+------------+------------+-----------------------
 postgres  | postgres | UTF8     | en_US.utf8 | en_US.utf8 | 
 template0 | postgres | UTF8     | en_US.utf8 | en_US.utf8 | =c/postgres          +
           |          |          |            |            | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.utf8 | en_US.utf8 | =c/postgres          +
           |          |          |            |            | postgres=CTc/postgres
(3 rows)

postgres=# 

Navicat連接數(shù)據(jù)庫

創(chuàng)建連接

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

新建數(shù)據(jù)庫

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

編碼方式UTF-8

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

新建模式

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

輸入模式名

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

導(dǎo)入向?qū)?/h4>

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

選擇csv文件

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

LF (Line Feed):換行符,’\n’,表示切換到下一行,ASCII碼為10

CR (Carriage Return):回車符,’\r’,表示回到當(dāng)前行的開頭,ASCII碼為13

CRLF:一個(gè)回車符和一個(gè)換行符,“\r\n”

  • Windows系統(tǒng) 使用 CRLF 進(jìn)行換行
  • Unix系統(tǒng)類Unix系統(tǒng) 采用 LF 進(jìn)行換行

關(guān)于分隔符

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

日期排序方式

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

支持修改表名

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

選擇字段,修改導(dǎo)入后字段名字

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

導(dǎo)入模式

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

開始導(dǎo)入

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

SpringBoot結(jié)合Jpa使用postgres初步

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

導(dǎo)入依賴

<!--        Jpa的包-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

<!--        postgresql數(shù)據(jù)庫-->
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <scope>runtime</scope>
        </dependency>

創(chuàng)建實(shí)體類

javax

  • @Entity

    @Table

    • @Id
    • @GeneratedValue(strategy) AUTO/IDENTITY(數(shù)據(jù)庫自己的主鍵自增長(zhǎng)策略???)
    • @Column

GenerationType.AUTO:會(huì)多一張表,記錄鍵
GenerationType.IDENTITY:用數(shù)據(jù)庫自增的主鍵
@GeneratedValue(strategy = GenerationType.IDENTITY) // 用數(shù)據(jù)庫自增長(zhǎng)策略

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

package com.tianju.book.jpa;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.*;

@Data
@NoArgsConstructor
@AllArgsConstructor

// 表示這個(gè)實(shí)體類是和數(shù)據(jù)庫表對(duì)應(yīng)的
@Entity
@Table(name = "identity_card") // 對(duì)應(yīng)的表名
public class Identity {
    @Id // 是主鍵
    // GenerationType.AUTO:會(huì)多一張表,記錄鍵
    // GenerationType.IDENTITY:用數(shù)據(jù)庫自增的主鍵
    @GeneratedValue(strategy = GenerationType.IDENTITY) // 用數(shù)據(jù)庫自增長(zhǎng)策略
    @Column(name = "id")
    private String id;

    @Column(name = "distinct")
    private String distinct;

}

dao根據(jù)區(qū)域模糊查詢

JpaRepository<Identity,String>:實(shí)體類以及主鍵的類型

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

package com.tianju.book.jpa;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * JpaRepository<Identity,String>:實(shí)體類以及主鍵的類型
 */
@Repository
public interface IdentityDao extends JpaRepository<Identity,String> {
    List<Identity> findByDistinctLike(String distinct);

}

配置類

在jpa中,ddl-auto共分為四種:

spring.jpa.hibernate.ddl-auto = create ----每次啟動(dòng)SpringBoot程序時(shí),沒有表會(huì)新建表格,表內(nèi)有數(shù)據(jù)會(huì)清空;

spring.jpa.hibernate.ddl-auto = create-drop ----每次啟動(dòng)SpringBoot程序時(shí),會(huì)清空表數(shù)據(jù);

spring.jpa.hibernate.ddl-auto = update ---- 每次啟動(dòng)SpringBoot程序時(shí),沒有表格會(huì)新建表格,表內(nèi)有數(shù)據(jù)不會(huì)清空,只會(huì)更新;

spring.jpa.hibernate.ddl-auto = validate ---- 每次啟動(dòng)SpringBoot程序時(shí),會(huì)校驗(yàn)實(shí)體類字段與數(shù)據(jù)庫字段的類型是否相同,不同則會(huì)報(bào)錯(cuò);

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

server:
  port: 9099

spring:
  datasource:
    driver-class-name: org.postgresql.Driver
    url: jdbc:postgresql://192.168.111.130:5432/test-db?useSSL=false
    username: postgres
    password: 123

  jpa:
    # 允許顯示sql
    show-sql: true
    hibernate:
      # 自動(dòng)對(duì)表進(jìn)行增刪改查的操作,創(chuàng)建表
      # 可以開始的時(shí)候打開,等表創(chuàng)建好之后關(guān)閉
      ddl-auto: validate

使用其他模式

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

在Spring Boot的application.yml文件中,可以使用以下方式指定連接PostgreSQL數(shù)據(jù)庫中的模式:

spring:
  datasource:
    url: jdbc:postgresql://localhost:5432/database_name?currentSchema=schema_name
    username: your_username
    password: your_password

在上述配置中,database_name是要連接的數(shù)據(jù)庫名稱,schema_name是要使用的模式名稱。通過在URL中添加currentSchema=schema_name參數(shù),可以指定要使用的模式。

另外,如果要在代碼中指定模式,可以使用spring.jpa.properties.hibernate.default_schema屬性,如下所示:

spring:
  jpa:
    properties:
      hibernate:
        default_schema: schema_name

這樣,Hibernate將使用指定的模式來創(chuàng)建和查詢數(shù)據(jù)庫對(duì)象。

進(jìn)行測(cè)試

docker postgresql,# Database,數(shù)據(jù)庫,postgresql,docker,spring boot

package com.tianju.book.mapper;

import com.tianju.book.jpa.Identity;
import com.tianju.book.jpa.IdentityDao;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import java.util.List;

@SpringBootTest
@RunWith(SpringJUnit4ClassRunner.class)
public class JpaDemoTest {

    @Autowired
    private IdentityDao identityDao;

    @Test
    public void findByDistinctLike(){
        List<Identity> distinctLike = identityDao.findByDistinctLike("北京%");
        distinctLike.forEach(identity->{
            System.out.println(identity);
        });
    }

}


總結(jié)

1.PostgreSQL數(shù)據(jù)庫初始,開源;
2.Docker版本的postgres安裝,以及掛載啟動(dòng);
3.Navicat連接方式+導(dǎo)入向?qū)褂?,?dǎo)入csv文件;
4.SpringBoot結(jié)合Jpa使用PostgreSQL初步;文章來源地址http://www.zghlxwxcb.cn/news/detail-758059.html

到了這里,關(guān)于PostgreSQL數(shù)據(jù)庫——Docker版本的postgres安裝 & Navicat連接方式+導(dǎo)入向?qū)褂?& SpringBoot結(jié)合Jpa使用PostgreSQL初步的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • PostgreSQL 16數(shù)據(jù)庫的yum、編譯、docker三種方式安裝——筑夢(mèng)之路

    隨手一記:生成密碼的密文sha256加密

    2024年02月07日
    瀏覽(18)
  • [運(yùn)維|數(shù)據(jù)庫] docker postgresql數(shù)據(jù)庫環(huán)境變量配置

    要配置Docker中的PostgreSQL數(shù)據(jù)庫的環(huán)境變量,可以使用以下方法: 使用Docker命令行: 將 用戶名 , 密碼 , 數(shù)據(jù)庫名 替換為你想要設(shè)置的實(shí)際值。這將創(chuàng)建一個(gè)名為 mypostgres 的容器,并將 PostgreSQL 的用戶名、密碼和數(shù)據(jù)庫名設(shè)置為指定的值。 -p 5432:5432 指定了容器內(nèi)部和主機(jī)之間

    2024年02月09日
    瀏覽(34)
  • 使用docker部署postgreSQL數(shù)據(jù)庫

    使用docker部署postgreSQL數(shù)據(jù)庫

    隨著docker的廣泛應(yīng)用,為了提供便利的管理,PostgreSQL數(shù)據(jù)庫也支持docker的安裝方式。下面詳細(xì)介紹docker安裝PostgreSQL數(shù)據(jù)庫的方法。 1、查看下載數(shù)據(jù)庫鏡像命令 訪問dockerhub官網(wǎng):https://registry.hub.docker.com/ 地址,下載指定版本的postgresql數(shù)據(jù)庫。 2、執(zhí)行下載命令 在安裝有doc

    2024年02月11日
    瀏覽(15)
  • docker版postgresql數(shù)據(jù)庫主從配置

    參考:postgresql16配置主從 注意項(xiàng) :當(dāng)前操作主路徑: ~/dockerEnv 【示例路徑】 創(chuàng)建 sql 文件,文件路徑 dockerEnv/dbInit/a_create_user.sql 注意: 如果在同一個(gè)宿主機(jī)操作,注意多個(gè) yml 文件的端口映射,不要沖突! 掛載宿主機(jī) sql 文件夾到容器的 docker-entrypoint-initdb.d 路徑下,容器啟

    2024年04月14日
    瀏覽(18)
  • 在Docker中運(yùn)行PostgreSQL數(shù)據(jù)庫

    1.下載Docker 2.設(shè)置DockerHub賬號(hào) 3.運(yùn)行Docker并下載Image 4.啟動(dòng)PostgreSQL Image 5.連接到數(shù)據(jù)庫運(yùn)行SQL 開放端口從Docker容器到主操作系統(tǒng),這將允許我們使用DBeaver來連接數(shù)據(jù)庫。 首先登錄進(jìn)Docker,使用docker login命令。 登錄進(jìn)去之后,可以下載Image,使用docker pull命令。 也可以使用d

    2024年02月08日
    瀏覽(19)
  • 【最全】從Docker中運(yùn)行postgresql數(shù)據(jù)庫

    【最全】從Docker中運(yùn)行postgresql數(shù)據(jù)庫

    有三種方式:Dockerfile 啟動(dòng)、docker-compose啟動(dòng)、通過命令行 我采用的是docker-compose.yml 的方式,大家可以自己玩一玩其他的兩種方式,參考這個(gè)鏈接 postgresql docker images list 如果安裝過程遇到以下報(bào)錯(cuò), 可以更換以下版本的pg 鏡像 docker pull postgres:15-bullseye 創(chuàng)建并進(jìn)入 pg 目錄 3

    2024年02月07日
    瀏覽(45)
  • Linux 源碼安裝: PostgreSQL 15.6數(shù)據(jù)庫

    Linux 源碼安裝: PostgreSQL 15.6數(shù)據(jù)庫

    ??The Begin??點(diǎn)點(diǎn)關(guān)注,收藏不迷路?? ?? PostgreSQL 中文文檔 下載地址:https://www.postgresql.org/ftp/source/ 安裝結(jié)果: vi ~/.bashrc ,如果全局的則編輯/etc/profile。 可以執(zhí)行以下命令查看 PostgreSQL 版本信息: 1、創(chuàng)建一個(gè)名為 postgresql.service 的服務(wù)單元文件: 編輯 /etc/systemd/system/p

    2024年03月24日
    瀏覽(29)
  • 圖數(shù)據(jù)庫Neo4j——Neo4j簡(jiǎn)介、數(shù)據(jù)結(jié)構(gòu) & Docker版本的部署安裝 & Cypher語句的入門

    圖數(shù)據(jù)庫Neo4j——Neo4j簡(jiǎn)介、數(shù)據(jù)結(jié)構(gòu) & Docker版本的部署安裝 & Cypher語句的入門

    MySQL是一種開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),使用SQL作為其查詢語言,常見的關(guān)系型數(shù)據(jù)庫有MySQL、Oracle、SQL Server、PostgreSQL等。相關(guān)博客文章如下: 【合集】MySQL的入門進(jìn)階強(qiáng)化——從 普通人 到 超級(jí)賽亞人 的 華麗轉(zhuǎn)身 PostgreSQL數(shù)據(jù)庫——Docker版本的postgres安裝 Navicat連接方式

    2024年02月06日
    瀏覽(51)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包