從零開始搭建springboot項目3:Mybatis+Druid+lombok

這一步是爲了配置數據庫

這裏我使用的是常見的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無問題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章