maven學習筆記總結

目錄

一、maven簡介

二、GAVP屬性

三、基于 IDLE 的 Maven 工程創建

1)java標準工程(Javase)的創建

2)java企業工程(Javaee)的創建

a)手動創建

b)插件方式創建(file / settings / plugins / marketplace)

四、Maven工程項目結構說明

五、依賴管理和配置

六、依賴傳遞和依賴沖突(不用管,就是一種原理說明,總之用maven導入總是對的)

七、依賴導入失敗場景和解決方案

八、構建概念

九、繼承與聚合

1、繼承語法

2、父工程依賴統一管理

3、聚合概念

4、聚合作用

5、聚合語法

6、聚合演示

十、總結


一、maven簡介

Maven 是一款為 Java 項目構建管理、依賴管理的工具(軟件),使用 Maven 可以自動化構建、測試、打包和發布項目,大大提高了開發效率和質量。

二、GAVP屬性

Maven工程相對之前的工程,多出一組gavp屬性,gav需要我們在創建項目的時指定,p有默認值,后期通過配置文件修改。

既然要填寫的屬性,我們先行了解下這組屬性的含義!

Maven 中的 GAVP 是指 GroupIdArtifactIdVersionPackaging 等四個屬性的縮寫,其中前三個是必要的,而 Packaging 屬性為可選項。

這四個屬性主要為每個項目在maven倉庫總做一個標識,類似人的《姓-名》。有了具體標識,方便maven軟件對項目進行管理和互相引用!

GAV遵循一下規則:

1) GroupID 格式:com.{公司/BU }.業務線.[子業務線],最多 4 級。

??? 說明:{公司/BU} 例如:alibaba/taobao/tmall/aliexpress 等 BU 一級;子業務線可選。

??? 正例:com.taobao.tddl 或 com.alibaba.sourcing.multilang? com.atguigu.java

2) ArtifactID 格式:產品線名-模塊名。語義不重復不遺漏,先到倉庫中心去查證一下。

??? 正例:tc-client / uic-api / tair-tool / bookstore

3) Version版本號格式推薦:主版本號.次版本號.修訂號 1.0.0

??? 1) 主版本號:當做了不兼容的 API 修改,或者增加了能改變產品方向的新功能。

??? 2) 次版本號:當做了向下兼容的功能性新增(新增類、接口等)。

??? 3) 修訂號:修復 bug,沒有修改方法簽名的功能加強,保持 API 兼容性。

? ??例如: 初始→1.0.0? 修改bug → 1.0.1? 功能調整 → 1.1.1等

Packaging定義規則:

? 指示將項目打包為什么類型的文件,idea根據packaging值,識別maven項目類型!

? packaging 屬性為 jar(默認值),代表普通的Java工程,打包以后是.jar結尾的文件。

? packaging 屬性為 war,代表Java的web工程,打包以后.war結尾的文件。

? packaging 屬性為 pom,代表不會打包,用來做繼承的父工程。

三、基于 IDLE 的 Maven 工程創建

1)java標準工程(Javase)的創建

先創建一個空項目,方便以后把所有項目都放在該目錄之下

再new一個新的module

Javase創建完畢(注意:此處省略了version,直接給了一個默認值<version>1.0-SNAPSHOT</version>。自己后期可以在項目中隨意修改!)

2)java企業工程(Javaee)的創建

a)手動創建

創建一個javase maven工程

手動添加web項目結構文件

最后進行刷新和校驗

項目的webapp文件夾出現小藍點,代表成功!!

b)插件方式創建(file / settings / plugins / marketplace)

創建一個javase maven工程

右鍵、使用插件快速補全web項目

若小藍點沒出來,重啟ldea就行。

四、Maven工程項目結構說明

Maven 是一個強大的構建工具,它提供一種標準化的項目結構,可以幫助開發者更容易地管理項目的依賴、構建、測試和發布等任務。

以下是 Maven Web 程序的文件結構及每個文件的作用:

- pom.xml:Maven 項目管理文件,用于描述項目的依賴和構建配置等信息。

- src/main/java:存放項目的 Java 源代碼。

- src/main/resources:存放項目的資源文件,如配置文件、靜態資源等。

- src/main/webapp/WEB-INF:存放 Web 應用的配置文件。

- src/main/webapp/index.html:Web 應用的入口頁面。

- src/test/java:存放項目的測試代碼。

- src/test/resources:存放測試相關的資源文件,如測試配置文件等。

五、依賴管理和配置

Maven 依賴管理是 Maven 軟件中最重要的功能之一。Maven 的依賴管理能夠幫助開發人員自動解決軟件包依賴問題,使得開發人員能夠輕松地將其他開發人員開發的模塊或第三方框架集成到自己的應用程序或模塊中,避免出現版本沖突和依賴缺失等問題。

我們通過定義 POM 文件,Maven 能夠自動解析項目的依賴關系,并通過 Maven 倉庫自動下載和管理依賴,從而避免了手動下載和管理依賴的繁瑣工作和可能引發的版本沖突問題。

重點: 編寫pom.xml文件!

maven項目信息屬性配置和讀取:

<!-- 模型版本 --><modelVersion>4.0.0</modelVersion><!-- 公司或者組織的唯一標志,并且配置時生成的路徑也是由此生成, 如com.companyname.project-group,maven會將該項目打成的jar包放本地路徑:/com/companyname/project-group --><groupId>com.companyname.project-group</groupId><!-- 項目的唯一ID,一個groupId下面可能多個項目,就是靠artifactId來區分的 --><artifactId>project</artifactId><!-- 版本號 --><version>1.0.0</version><!--打包方式默認:jarjar指的是普通的java項目打包方式! 項目打成jar包!war指的是web項目打包方式!項目打成war包!pom不會講項目打包!這個項目作為父工程,被其他工程聚合或者繼承!后面會講解兩個概念--><packaging>jar/pom/war</packaging>

依賴管理和添加:

?
<!--通過編寫依賴jar包的gav必要屬性,引入第三方依賴!scope屬性是可選的,可以指定依賴生效范圍!依賴信息查詢方式:1. maven倉庫信息官網 https://mvnrepository.com/2. maven search插件搜索--><dependencies><!-- 引入具體的依賴包 --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version><!--生效范圍- compile :main目錄 test目錄? ?打包打包 [默認]- provided:main目錄 test目錄? Servlet- runtime: 打包運行?????????? ?????????MySQL- test:?? ?????????test目錄????????? ????????????junit--><scope>runtime</scope></dependency></dependencies>?

依賴版本提取和維護:

<!--聲明版本--><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><!--命名隨便,內部制定版本號即可!--><junit.version>4.11</junit.version><!-- 也可以通過 maven規定的固定的key,配置maven的參數!如下配置編碼格式!--><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><!--引用properties聲明版本 --><version>${junit.version}</version></dependency></dependencies>

六、依賴傳遞和依賴沖突(不用管,就是一種原理說明,總之用maven導入總是對的)

依賴傳遞指的是當一個模塊或庫 A 依賴于另一個模塊或庫 B,而 B 又依賴于模塊或庫 C,那么 A 會間接依賴于 C。這種依賴傳遞結構可以形成一個依賴樹。

當我們引入一個庫或框架時,構建工具(如 Maven、Gradle)會自動解析和加載其所有的直接和間接依賴,確保這些依賴都可用。

依賴傳遞的作用是:

1. 減少重復依賴:當多個項目依賴同一個庫時,Maven 可以自動下載并且只下載一次該庫。這樣可以減少項目的構建時間和磁盤空間。

2. 自動管理依賴: Maven 可以自動管理依賴項,使用依賴傳遞,簡化了依賴項的管理,使項目構建更加可靠和一致。

3. 確保依賴版本正確性:通過依賴傳遞的依賴,之間都不會存在版本兼容性問題,確實依賴的版本正確性!

當直接引用或者間接引用出現了相同的jar包! 這時呢,一個項目就會出現相同的重復jar包,這就算作沖突!依賴沖突避免出現重復依賴,并且終止依賴傳遞!

maven自動解決依賴沖突問題能力,會按照自己的原則,進行重復依賴選擇。同時也提供了手動解決的沖突的方式,不過不推薦!

解決依賴沖突(如何選擇重復依賴)方式:

?1. 自動選擇原則

????? - 短路優先原則(第一原則)

????????? A—>B—>C—>D—>E—>X(version 0.0.1)

? ? ? ? ? A—>F—>X(version 0.0.2)

?????????則A依賴于X(version 0.0.2)。

?????- 依賴路徑長度相同情況下,則“先聲明優先”(第二原則)

????????? A—>E—>X(version 0.0.1)

????????? A—>F—>X(version 0.0.2)

????????? 在<depencies></depencies>中,先聲明的,路徑相同,會優先選擇!

七、依賴導入失敗場景和解決方案

在使用 Maven 構建項目時,可能會發生依賴項下載錯誤的情況,主要原因有以下幾種:

1. 下載依賴時出現網絡故障或倉庫服務器宕機等原因,導致無法連接至 Maven 倉庫,從而無法下載依賴。

2.? 依賴項的版本號或配置文件中的版本號錯誤,或者依賴項沒有正確定義,導致 Maven 下載的依賴項與實際需要的不一致,從而引發錯誤。

3.? 本地 Maven 倉庫或緩存被污染或損壞,導致 Maven 無法正確地使用現有的依賴項,并且也無法重新下載!

解決方案:

1. 檢查網絡連接和 Maven 倉庫服務器狀態。

2. 確保依賴項的版本號與項目對應的版本號匹配,并檢查 POM 文件中的依賴項是否正確。

3. 清除本地 Maven 倉庫緩存(lastUpdated 文件),因為只要存在 lastupdated 緩存文件,刷新也不會重新下載。本地倉庫中,根據依賴的 gav 屬性依次向下查找文件夾,最終刪除內部的文件,刷新重新下載即可!

例如: pom.xml依賴

<dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.8</version></dependency>

??? 文件:

??? 腳本使用:

八、構建概念

項目構建是指將源代碼、依賴庫和資源文件等轉換成可執行或可部署的應用程序的過程,在這個過程中包括編譯源代碼、鏈接依賴庫、打包和部署等多個步驟。

主動觸發場景:

- 重新編譯 : 編譯不充分, 部分文件沒有被編譯!

- 打包 : 獨立部署到外部服務器軟件,打包部署

- 部署本地或者私服倉庫 : maven工程加入到本地或者私服倉庫,供其他工程使用

命令方式構建:

語法: mvn 構建命令? 構建命令....

可視化方式構建:

構建命令周期:

構建生命周期可以理解成是一組固定構建命令的有序集合,觸發周期后的命令,會自動觸發周期前的命令!也是一種簡化構建的思路!

- 清理周期:主要是對項目編譯生成文件進行清理

??? 包含命令:clean

- 默認周期:定義了真正構件時所需要執行的所有步驟,它是生命周期中最核心的部分

??? 包含命令:compile - test - package - install / deploy

- 報告周期

??? 包含命令:site

??? 打包: mvn clean package

?? 本地倉庫: mvn clean install

最佳使用方案:

打包: mvn clean package

重新編譯: mvn clean compile

本地部署: mvn clean install

周期,命令和插件:

周期→包含若干命令→包含若干插件!

使用周期命令構建,簡化構建過程!

最終進行構建的是插件!

插件配置(解決war包版本和JDK版本不兼容的問題):

<build>

?? <!-- jdk17 和 war包版本插件不匹配 -->

??? <plugins>

??????? <plugin>

??????????? <groupId>org.apache.maven.plugins</groupId>

??????????? <artifactId>maven-war-plugin</artifactId>

??????????? <version>3.2.2</version>

??????? </plugin>

??? </plugins>

</build>

九、繼承與聚合

Maven 繼承是指在 Maven 的項目中,讓一個項目從另一個項目中繼承配置信息的機制。繼承可以讓我們在多個項目中共享同一配置信息,簡化項目的管理和維護工作。

繼承作用:

作用:在父工程中統一管理項目中的依賴信息,進行統一版本管理!

它的背景是:

對一個比較大型的項目進行了模塊拆分。

一個 project 下面,創建了很多個 module。

每一個 module 都需要配置自己的依賴信息。

它背后的需求是:

多個模塊要使用同一個框架,它們應該是同一個版本,所以整個項目中使用的框架版本需要統一管理。

使用框架時所需要的 jar 包組合(或者說依賴信息組合)需要經過長期摸索和反復調試,最終確定一個可用組合。這個耗費很大精力總結出來的方案不應該在新的項目中重新摸索。

通過在父工程中為整個項目維護依賴信息的組合既保證了整個項目使用規范、準確的 jar 包;又能夠將以往的經驗沉淀下來,節約時間和精力。

1、繼承語法

父工程:

<groupId>com.atguigu.maven</groupId><artifactId>pro03-maven-parent</artifactId><version>1.0-SNAPSHOT</version><!-- 當前工程作為父工程,它要去管理子工程,所以打包方式必須是 pom --><packaging>pom</packaging>

子工程:

<!-- 使用parent標簽指定當前工程的父工程 --><parent><!-- 父工程的坐標 --><groupId>com.atguigu.maven</groupId><artifactId>pro03-maven-parent</artifactId><version>1.0-SNAPSHOT</version></parent><!-- 子工程的坐標 --><!-- 如果子工程坐標中的groupId和version與父工程一致,那么可以省略 --><!-- <groupId>com.atguigu.maven</groupId> --><artifactId>pro04-maven-module</artifactId><!-- <version>1.0-SNAPSHOT</version> -->

2、父工程依賴統一管理

父工程聲明版本:

<!-- 使用dependencyManagement標簽配置對依賴的管理 --><!-- 被管理的依賴并沒有真正被引入到工程 --><dependencyManagement><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>4.0.0.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>4.0.0.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.0.0.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-expression</artifactId><version>4.0.0.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>4.0.0.RELEASE</version></dependency></dependencies></dependencyManagement>

子工程引用版本

<!-- 子工程引用父工程中的依賴信息時,可以把版本號去掉。? --><!-- 把版本號去掉就表示子工程中這個依賴的版本由父工程決定。 --><!-- 具體來說是由父工程的dependencyManagement來決定。 --><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-expression</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId></dependency></dependencies>

3、聚合概念

Maven 聚合是指將多個項目組織到一個父級項目中,通過觸發父工程的構建,統一按順序觸發子工程構建的過程!!

4、聚合作用

1)統一管理子項目構建:通過聚合,可以將多個子項目組織在一起,方便管理和維護。

2)優化構建順序:通過聚合,可以對多個項目進行順序控制,避免出現構建依賴混亂導致構建失敗的情況。

5、聚合語法

父項目中包含的子項目列表。

<project><groupId>com.example</groupId><artifactId>parent-project</artifactId><packaging>pom</packaging><version>1.0.0</version><modules><module>child-project1</module><module>child-project2</module></modules></project>

6、聚合演示

通過觸發父工程構建命令、引發所有子模塊構建!產生反應堆!

十、總結

核心點

掌握目標

安裝

maven安裝、環境變量、maven配置文件修改

工程創建

gavp屬性理解、JavaSE/EE工程創建、項目結構

依賴管理

依賴添加、依賴傳遞、版本提取、導入依賴錯誤解決

構建管理

構建過程、構建場景、構建周期等

繼承和聚合

理解繼承和聚合作用、繼承語法和實踐、聚合語法和實踐

以上,maven學習筆記總結

祝好。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/207933.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/207933.shtml
英文地址,請注明出處:http://en.pswp.cn/news/207933.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據結構與算法(六)分支限界法(Java)

目錄 一、簡介1.1 定義1.2 知識回顧1.3 兩種解空間樹1.4 三種分支限界法1.5 回溯法與分支線定法對比1.6 使用步驟 二、經典示例&#xff1a;0-1背包問題2.1 題目2.2 分析1&#xff09;暴力枚舉2&#xff09;分支限界法 2.3 代碼實現1&#xff09;實現廣度優先策略遍歷2&#xf…

力扣題:字符的統計-12.4

力扣題-12.4 [力扣刷題攻略] Re&#xff1a;從零開始的力扣刷題生活 力扣題1&#xff1a;657. 機器人能否返回原點 解題思想&#xff1a;進行統計即可 class Solution(object):def judgeCircle(self, moves):""":type moves: str:rtype: bool""&qu…

GeoPandas初體驗:它是什么,我用它展示一下shp矢量數據

GeoPandas 是一個開源的 Python 庫&#xff0c;用于處理地理空間數據。它擴展了 Pandas 這個流行的 Python 數據操作庫&#xff0c;增加了對地理數據類型和操作的支持。GeoPandas 結合了 Pandas、Matplotlib 和 Shapely 的功能&#xff0c;提供了一個易于使用且高效的工具&…

c語言實例:計算并輸出一個整數數組的平均值

大家好&#xff0c;今天給大家介紹一個c語言實例&#xff1a;計算并輸出一個整數數組的平均值&#xff0c;文章末尾附有分享大家一個資料包&#xff0c;差不多150多G。里面學習內容、面經、項目都比較新也比較全&#xff01;可進群免費領取。 以下是一個使用C語言實現的實例&am…

Day18——JDK新特性

1.JDK8的新特性 1.1 Lambda表達式 1.1.1 舉例 public class LambdaTest {Testpublic void test1(){Runnable r1 new Runnable() {Overridepublic void run() {System.out.println("test1");}};r1.run();//Lambda表達式的寫法Runnable r2 () ->{System.out.pr…

怎么將用戶引流到你的私域中?

微信私域運營是一種利用微信平臺建立與用戶深度聯系的營銷方式&#xff0c;可在私域中觸達并服務用戶。 那么如何將在將用戶引流至你的私域中呢&#xff1f; 可以從以下幾個小方法入手。 ①打造一個吸引人的個人品牌形象非常重要。在社交媒體上展示真實、獨特、專業的一面&a…

喜訊!云起無垠上榜《成長型初創企業推薦10強》

近期&#xff0c;由中國計算機學會抗惡劣環境計算機專業委員會、信息產業信息安全測評中心和安全牛聯合發起的第十一版《中國網絡安全企業100強》榜單正式發布。在這份備受關注的榜單中&#xff0c;云起無垠憑借其創新的技術能力&#xff0c;榮登《成長型初創企業推薦10強》榜單…

網絡知識學習(筆記三)(傳輸層的TCP)

前面已經介紹了傳輸層的UDP協議的報文以及一下相關的知識點&#xff0c;本次主要是傳輸層的TCP協議&#xff0c;包括TCP報文的詳細介紹&#xff1b;可靠傳輸、流量控制、擁塞控制等&#xff1b;建立連接、釋放連接。 一、TCP基本知識點介紹 1.1、TCP協議的幾個重要的知識點 …

網安領域含金量最高的證書有哪些?看這1篇就足夠了!

文章目錄 一、前言二、CISP三、CISAW四、NISP五、為什么很多人考不下來 一、前言 現在想找網絡安全之類的工作&#xff0c;光有技術是不夠的&#xff0c;還得有東西證明自己&#xff0c;網安三大敲門磚&#xff1a;CTF、漏洞證明和專業證書。 對于CTF的話只是少數人能參加的&…

12月08日,每日信息差

以下是2023年12月08日的12條信息差 第一、英國大宗商品經紀商Marex準備在美國上市 第二、阿里云通義千問登頂HuggingFace排行榜。據了解&#xff0c;HuggingFace的開源大模型排行榜收錄了全球上百個開源大模型&#xff0c;測試維度涵蓋閱讀理解、邏輯推理、數學計算、事實問答…

Gateway:微服務架構中的關鍵組件

Gateway&#xff1a;微服務架構中的關鍵組件 在微服務架構的世界中&#xff0c;Gateway&#xff08;網關&#xff09;扮演著至關重要的角色。它不僅作為流量的入口&#xff0c;還提供路由、鑒權、監控等多種功能。本博客將詳細介紹Gateway的概念、功能以及如何在實際項目中使用…

數據庫基礎概念與范式反范式總結

文章目錄 一、基本概念1、屬性2、元組3、關系4、超鍵5、候選鍵6、主鍵7、主屬性8、外鍵9、函數依賴完全依賴 二、數據庫范式1、第一范式&#xff08;1NF&#xff09;2、第二范式&#xff08;2NF&#xff09;3、第三范式&#xff08;3NF&#xff09;4、巴斯-科德范式&#xff08…

uc_14_IP地址_套接字_字節序轉換

1 計算機網絡 計算機網絡&#xff0c;是指將地理位置不同的具有獨立功能的多臺計算機及其外部設備&#xff0c;通過通信線路連接起來&#xff0c;在網絡操作系統、網絡管理軟件及網絡通信協議的管理和協調下&#xff0c;實現資源共享和信息傳遞的計算機系統。 網絡協議是一種特…

C語言文本模式和二進制模式

前言 本篇文章介紹一下C語言的文本模式和二進制模式 文本文件和二進制文件 從宏觀上看&#xff0c;無論是文本文件還是二進制文件&#xff0c;文件中保存的都是0和1的序列&#xff0c;因為磁盤只有這兩種狀態。不同的文件只是對0、1序列的解釋不同&#xff0c;如果文件內容是…

AtCoder ABC周賽2023 11/4 (Sat) E題題解

目錄 原題截圖&#xff1a; 原題翻譯 題目大意&#xff1a; 主要思路&#xff1a; 代碼&#xff1a; 原題截圖&#xff1a; 原題翻譯 題目大意&#xff1a; 給你一個數組&#xff0c;給你一個公式&#xff0c;讓你選k個元素&#xff0c;用公式算出最終得分。 主要思路&am…

X86匯編語言:從實模式到保護模式(代碼+注釋)--c6

X86匯編語言&#xff1a;從實模式到保護模式&#xff08;代碼注釋&#xff09;–c6 標志寄存器FLAGS&#xff1a; 6th&#xff1a;ZF位&#xff08;Zero Flag&#xff09;&#xff1a;零標志&#xff0c;執行算數或者邏輯運算之后&#xff0c;會將該位置位。10th&#xff1a;D…

安全運營 -- 100個藍隊溯源技巧(逐步更新)

0x00 背景 記錄一些常用的入侵排查命令和日常運維思路分享。(排名不分先后,逐步更新ing) 0x01 linux 查詢所有用戶計劃任務 cat /etc/passwd|cut -f 1 -d : |xargs -I {} crontab -l -u {} 0x02 排查linux記錄密碼后門 strace 監聽ssh來源流量記錄密碼后門(本機輸入的密碼記…

Shell數組函數:數組——數組和循環(三)

數組統計性別 一、定義性別文件 [root192 ~]# vim sex.txt jack m alice f tom m 二、定義腳本統計性別 [root192 ~]# vim sex.sh #!/bin/bash declare -A sex while read line dotypeecho $line | awk {print $2}let sex[$type] done < sex.txtfor i in ${!sex[]} doecho…

Linux基礎——進程初識(一)

1. 硬件 ①馮諾依曼體系 我們常見的計算機&#xff0c;如筆記本。我們不常見的計算機&#xff0c;如服務器&#xff0c;大部分都遵守馮諾依曼體系。其詳細結構如下圖所示 在這里有幾點要說明 1. 這里的儲存器實際上指的是內存 2. 輸入設備與輸出設備都屬于外設 常見的輸入設備…

實現SQL server數據庫完整性

1.創建一個數據庫名為“erp” 主數據文件&#xff1a;初始容量為5MB&#xff0c;最大容量為50MB&#xff0c;遞增量為1MB&#xff0c;其余參數自設。事務日志文件&#xff1a;初始容量為3MB&#xff0c;最大容量為20MB&#xff0c;遞增量為10%&#xff0c;其余參數自設。 創建…