這一步是爲了配置數據庫
這裏我使用的是常見的mysql+MyBatis+Druid的配置
使用mysql數據庫,通過MyBatis連接(實質也是JDBC),使用Druid數據源監控。
1.繼續在Pom.xml編寫依賴包
<!--數據庫 mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--數據庫 mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
<!--數據庫的數據源 druid-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.21</version>
</dependency>
這裏注意一點,druid這個依賴的是druid-spring-boot-starter,而不是druid,雖然兩者都可以依賴,但druid的話是無法有內置監控頁面的。
2.編寫application.yml配置
spring:
port: 8080
#熱部署
devtools:
restart:
enabled: true
additional-paths: src/main/java
#數據庫配置
datasource:
#1.JDBC
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/sardines?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
username: root
password: root
druid:
#2.連接池配置
#初始化連接池的連接數量 大小,最小,最大
initial-size: 5
min-idle: 5
max-active: 20
#配置獲取連接等待超時的時間
max-wait: 60000
#配置間隔多久才進行一次檢測,檢測需要關閉的空閒連接,單位是毫秒
time-between-eviction-runs-millis: 60000
# 配置一個連接在池中最小生存的時間,單位是毫秒
min-evictable-idle-time-millis: 30000
validation-query: SELECT 1 FROM DUAL
test-while-idle: true
test-on-borrow: true
test-on-return: false
# 是否緩存preparedStatement,也就是PSCache 官方建議MySQL下建議關閉 個人建議如果想用SQL防火牆 建議打開
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
# 配置監控統計攔截的filters,去掉後監控界面sql無法統計,'wall'用於防火牆
filter:
stat:
merge-sql: true
slow-sql-millis: 5000
#3.基礎監控配置
web-stat-filter:
enabled: true
url-pattern: /*
#設置不統計哪些URL
exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
session-stat-enable: true
session-stat-max-count: 100
stat-view-servlet:
enabled: true
url-pattern: /druid/*
reset-enable: true
#設置監控頁面的登錄名和密碼
login-username: admin
login-password: 123456
allow: 127.0.0.1
#deny: 122.1.1.1
這裏解釋下配置,除了代碼裏的註釋外,最後兩行 allow: 127.0.0.1 表示允許127.0.0.1(本機訪問),deny表示不允許訪問的對象。
PS:數據庫的url配置用自己的數據庫路徑,數據庫用戶密碼也用自己的,我這邊都是root(其實應該這句話不用說。。)
3.測試內置的監控頁面(不是必須的)
我在上面配置中定的用戶名密碼是admin和123456,所以根據這個登錄,然後就可以監控到很多sql操作方面的情況。druid的重點就在於可以監控限制,很方便。
4.導入lombok依賴包(非必須)
lombok是什麼?
lombok可以說是用來寫代碼偷懶的一個包,它可以通過註解自動寫無參構造器、封裝、toString等等,可以讓自己寫起來更輕鬆
lombok未安裝插件前需安裝插件
File->Settings->Plugins 搜索lombok安裝
安裝完畢,File->Settings->Build,Execution,Doployment->Compiler->Annotation Processors ->打鉤 Enable annotation processing
然後重啓idea。
還是在POM.xml中依賴包
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>
5.使用lombok(非必須,也可手動寫封裝)
6.使用mybatis寫mapper類(兩種方法)
首先創建mapper文件夾或者Dao文件夾,因爲mapper屬於MVC的Dao層
第一種:在啓動類註解定義mapper包位置,該包下的interface都默認爲mapper
第二種:在單個interface文件中設置
7.配置mybatis(還是在application.yml中)
#mybatis配置
mybatis:
#設置基本包 # 注意:對應實體類的路徑
type-aliases-package: com.sardine.myproject.pojo
#告訴去哪找xml文件 #注意:一定要對應mapper映射xml文件的所在路徑
mapper-locations: classpath:mybatis/mapper/*.xml
8.在mapper文件正式寫sql語句
9.暫時不寫業務層,直接寫controller層寫輸出
實際頁面執行
Druid監控
測試成功,無報錯,在druid頁面可查看sql信息,sql無問題