YMP Online Manual
/ JDBC持久化概述及模塊配置
JDBC持久化概述及模塊配置
JDBC持久化模塊針對關(guān)系型數(shù)據(jù)庫(RDBMS)數(shù)據(jù)存取的一套簡單解決方案,主要關(guān)注數(shù)據(jù)存取的效率、易用性和透明,其具備以下功能特征:
- 基于JDBC框架API進行輕量封裝,結(jié)構(gòu)簡單、便于開發(fā)、調(diào)試和維護;
- 優(yōu)化批量數(shù)據(jù)更新、標準化結(jié)果集、預(yù)編譯SQL語句處理;
- 支持單實體ORM操作,無需編寫SQL語句;
- 提供腳手架工具,快速生成數(shù)據(jù)實體類,支持鏈式調(diào)用;
- 支持通過存儲器注解自定義SQL語句或從配置文件中加載SQL并自動執(zhí)行;
- 支持結(jié)果集與值對象的自動裝配,支持自定義裝配規(guī)則;
- 支持多數(shù)據(jù)源,默認支持C3P0、DBCP、JNDI連接池配置,支持數(shù)據(jù)源擴展;
- 支持多種數(shù)據(jù)庫(如:Oracle、MySQL、SQLServer等);
- 支持面向?qū)ο蟮臄?shù)據(jù)庫查詢封裝,有助于減少或降低程序編譯期錯誤;
- 支持數(shù)據(jù)庫事務(wù)嵌套;
- 支持數(shù)據(jù)庫存儲過程*;
Maven包依賴
<dependency> <groupId>net.ymate.platform</groupId> <artifactId>ymate-platform-persistence-jdbc</artifactId> <version>2.0-SNAPSHOT</version> </dependency>
注:在項目的pom.xml中添加上述配置,該模塊已經(jīng)默認引入核心包及持久化基礎(chǔ)包依賴,無需重復(fù)配置。
模塊初始化配置
#------------------------------------- # JDBC持久化模塊初始化參數(shù) #------------------------------------- # 默認數(shù)據(jù)源名稱,默認值為default ymp.configs.persistence.jdbc.ds_default_name= # 數(shù)據(jù)源列表,多個數(shù)據(jù)源名稱間用'|'分隔,默認為default ymp.configs.persistence.jdbc.ds_name_list= # 是否顯示執(zhí)行的SQL語句,默認為false ymp.configs.persistence.jdbc.ds.default.show_sql= # 數(shù)據(jù)庫表前綴名稱,默認為空 ymp.configs.persistence.jdbc.ds.default.table_prefix= # 數(shù)據(jù)源適配器,可選值為已知適配器名稱或自定義適配置類名稱,默認為default,目前支持已知適配器[default|dbcp|c3p0|jndi|...] ymp.configs.persistence.jdbc.ds.default.adapter_class= # 數(shù)據(jù)庫類型,可選參數(shù),默認值將通過連接字符串分析獲得,目前支持[mysql|oracle|sqlserver|db2|sqlite|postgresql|hsqldb|h2] ymp.configs.persistence.jdbc.ds.default.type= # 數(shù)據(jù)庫方言,可選參數(shù),自定義方言將覆蓋默認配置 ymp.configs.persistence.jdbc.ds.default.dialect_class= # 數(shù)據(jù)庫連接驅(qū)動,可選參數(shù),框架默認將根據(jù)數(shù)據(jù)庫類型進行自動匹配 ymp.configs.persistence.jdbc.ds.default.driver_class= # 數(shù)據(jù)庫連接字符串,必填參數(shù) ymp.configs.persistence.jdbc.ds.default.connection_url= # 數(shù)據(jù)庫訪問用戶名稱,必填參數(shù) ymp.configs.persistence.jdbc.ds.default.username= # 數(shù)據(jù)庫訪問密碼,可選參數(shù),經(jīng)過默認密碼處理器加密后的admin字符串為wRI2rASW58E ymp.configs.persistence.jdbc.ds.default.password= # 數(shù)據(jù)庫訪問密碼是否已加密,默認為false ymp.configs.persistence.jdbc.ds.default.password_encrypted= # 數(shù)據(jù)庫密碼處理器,可選參數(shù),用于對已加密數(shù)據(jù)庫訪問密碼進行解密,默認為空 ymp.configs.persistence.jdbc.ds.default.password_class=
配置參數(shù)補充說明:
數(shù)據(jù)源的數(shù)據(jù)庫連接字符串和用戶名是必填項,其它均為可選參數(shù),最簡配置如下:
ymp.configs.persistence.jdbc.ds.default.connection_url=jdbc:mysql://localhost:3306/mydb
ymp.configs.persistence.jdbc.ds.default.username=root
為了避免明文密碼出現(xiàn)在配置文件中,YMP框架提供了默認的數(shù)據(jù)庫密碼處理器,或者通過IPasswordProcessor接口自行實現(xiàn);
net.ymate.platform.core.support.impl.DefaultPasswordProcessor