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/mydb

ymp.configs.persistence.jdbc.ds.default.username=root

為了避免明文密碼出現在設定文件中,YMP框架提供了預設的資料庫密碼處理器,或透過IPasswordProcessor介面自行實作;

net.ymate.platform.core.support.impl.DefaultPasswordProcessor

#