1. 程式人生 > >2018 - SpringBoot 整合 Mybatis 及 Freemarker 的使用

2018 - SpringBoot 整合 Mybatis 及 Freemarker 的使用

一、application.yml 配置如下

注:因為格式或編碼問題,如果出現以下錯誤

ERROR : Failed to load property source from location 'classpath:/application.yml'

1. 把註釋刪除   2.Tab 改為空格   3.把中文空格改為英文   4. . . 無力迴天

# 配置專案路徑,埠號
server:
 #servlet:
  # 專案路徑
  # context-path: /springboot
 # 埠號
 port: 80

# 配置mybatis
spring:
 datasource:
 driver-class-name: com.mysql.jdbc.Driver
 url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
 username: root
 password: 200206
 dbcp2:
  # 最小連線數
  min-idle: 5
  # 最大連線數
  max-idle: 30
  # 初始化連線
  initial-size: 10
  # 最大空閒時間
  max-wait-millis: 300

# 設定mybatis
mybatis:
 configuration:
 #使全域性的對映器啟用或禁用快取。
 cache-enabled: true
 #全域性啟用或禁用延遲載入。當禁用時,所有關聯物件都會即時載入。
 lazy-loading-enabled: true
 #當啟用時,有延遲載入屬性的物件在被呼叫時將會完全載入任意屬性。否則,每種屬性將會按需要載入。
 aggressive-lazy-loading: true
 #是否允許單條sql 返回多個數據集  (取決於驅動的相容性) default:true
 multiple-result-sets-enabled: true
 #是否可以使用列的別名 (取決於驅動的相容性) default:true
 use-column-label: true
 #允許JDBC 生成主鍵。需要驅動器支援。如果設為了true,這個設定將強制使用被生成的主鍵,有一些驅動器不相容不過仍然可以執行。  default:false
 use-generated-keys: true
 #指定 MyBatis 如何自動對映 資料基表的列 NONE:不隱射\u3000PARTIAL:部分  FULL:全部
 auto-mapping-behavior: partial
 #這是預設的執行型別  (SIMPLE: 簡單; REUSE: 執行器可能重複使用prepared statements語句;BATCH: 執行器可以重複執行語句和批量更新)
 default-executor-type: simple
 #使用駝峰命名法轉換欄位。
 map-underscore-to-camel-case: true
 #設定本地快取範圍 session:就會有資料的共享  statement:語句範圍 (這樣就不會有資料的共享 ) defalut:session
 local-cache-scope: session
 #設定但JDBC型別為空時,某些驅動程式 要指定值,default:OTHER,插入空值時不需要指定型別
 jdbc-type-for-null: null
 #如果資料為空的欄位,則該欄位省略不顯示,可以通過新增配置檔案,規定查詢資料為空是則返回null。
 call-setters-on-nulls: true

Freemarker 的依賴,小編已經在搭建SpringBoot的時候選擇過了

二、建立測試所需類

預設是 index ,不需要手動

注:Freemarker 必須經過服務端才可跳轉,跳轉時不能使用重定向與字尾

如果連線資料庫出現 CLIENT_PLUGIN_AUTH 

解決方案:修改pom.xml,將mysql-connector-java的版本退回到5.1.34