JDBC持久化概述及模組配置
JDBC持久化模組針對關聯式資料庫(RDBMS)資料存取的一套簡單解決方案,主要關注資料存取的效率、易用性和透明,其具備以下功能特徵:
- 基於JDBC框架API進行輕量封裝,結構簡單、便於開發、偵錯和維護;
- 優化批次資料更新、標準化結果集、預編譯SQL語句處理;
- 支援單一實體ORM操作,無需編寫SQL語句;
- 提供腳手架工具,快速產生資料實體類,支援鍊式呼叫;
- 支援透過記憶體註解自訂SQL語句或從設定檔載入SQL並自動執行;
- 支援結果集與值物件的自動組裝,支援自訂組裝規則;
- 支援多重資料來源,預設支援C3P0、DBCP 、JNDI連線池配置,支援資料來源擴充;
- 支援多種資料庫(如:Oracle、MySQL、SQLServer等);
- 支援物件導向的資料庫查詢封裝,有助於減少或降低程式編譯期錯誤;
- 支援資料庫事務嵌套;
- #支援資料庫預存程序*;
##Maven包依賴
<dependency> <groupId>net.ymate.platform</groupId> <artifactId>ymate-platform-persistence-jdbc</artifactId> <version>2.0-SNAPSHOT</version> </dependency>
註:在專案的pom.xml中加入上述配置,該模組已經預設引入核心包及持久化基礎包依賴,無需重複配置。
模組初始化配置
#------------------------------------- # JDBC持久化模块初始化参数 #------------------------------------- # 默认数据源名称,默认值为default ymp.configs.persistence.jdbc.ds_default_name= # 数据源列表,多个数据源名称间用'|'分隔,默认为default ymp.configs.persistence.jdbc.ds_name_list= # 是否显示执行的SQL语句,默认为false ymp.configs.persistence.jdbc.ds.default.show_sql= # 数据库表前缀名称,默认为空 ymp.configs.persistence.jdbc.ds.default.table_prefix= # 数据源适配器,可选值为已知适配器名称或自定义适配置类名称,默认为default,目前支持已知适配器[default|dbcp|c3p0|jndi|...] ymp.configs.persistence.jdbc.ds.default.adapter_class= # 数据库类型,可选参数,默认值将通过连接字符串分析获得,目前支持[mysql|oracle|sqlserver|db2|sqlite|postgresql|hsqldb|h2] ymp.configs.persistence.jdbc.ds.default.type= # 数据库方言,可选参数,自定义方言将覆盖默认配置 ymp.configs.persistence.jdbc.ds.default.dialect_class= # 数据库连接驱动,可选参数,框架默认将根据数据库类型进行自动匹配 ymp.configs.persistence.jdbc.ds.default.driver_class= # 数据库连接字符串,必填参数 ymp.configs.persistence.jdbc.ds.default.connection_url= # 数据库访问用户名称,必填参数 ymp.configs.persistence.jdbc.ds.default.username= # 数据库访问密码,可选参数,经过默认密码处理器加密后的admin字符串为wRI2rASW58E ymp.configs.persistence.jdbc.ds.default.password= # 数据库访问密码是否已加密,默认为false ymp.configs.persistence.jdbc.ds.default.password_encrypted= # 数据库密码处理器,可选参数,用于对已加密数据库访问密码进行解密,默认为空 ymp.configs.persistence.jdbc.ds.default.password_class=
#資料來源的資料庫連接字串和使用者名稱是必填項,其它都是可選參數,最簡配置如下:#ymp.configs.persistence.jdbc.ds.default.connection_url =jdbc:mysql://localhost:3306/mydbymp.configs.persistence.jdbc.ds.default.username=root為了避免明文密碼出現在設定文件中,YMP框架提供了預設的資料庫密碼處理器,或透過IPasswordProcessor介面自行實作;net.ymate.platform.core.support.impl.DefaultPasswordProcessor