JDBC持久化概述及模塊配置

2018-12-24 22:12 更新

JDBC持久化模塊針對(duì)關(guān)系型數(shù)據(jù)庫(RDBMS)數(shù)據(jù)存取的一套簡(jiǎn)單解決方案,主要關(guān)注數(shù)據(jù)存取的效率、易用性和透明,其具備以下功能特征:

  • 基于JDBC框架API進(jìn)行輕量封裝,結(jié)構(gòu)簡(jiǎn)單、便于開發(fā)、調(diào)試和維護(hù);
  • 優(yōu)化批量數(shù)據(jù)更新、標(biāo)準(zhǔn)化結(jié)果集、預(yù)編譯SQL語句處理;
  • 支持單實(shí)體ORM操作,無需編寫SQL語句;
  • 提供腳手架工具,快速生成數(shù)據(jù)實(shí)體類,支持鏈?zhǔn)秸{(diào)用;
  • 支持通過存儲(chǔ)器注解自定義SQL語句或從配置文件中加載SQL并自動(dòng)執(zhí)行;
  • 支持結(jié)果集與值對(duì)象的自動(dòng)裝配,支持自定義裝配規(guī)則;
  • 支持多數(shù)據(jù)源,默認(rèn)支持C3P0、DBCP、JNDI連接池配置,支持?jǐn)?shù)據(jù)源擴(kuò)展;
  • 支持多種數(shù)據(jù)庫(如:Oracle、MySQL、SQLServer等);
  • 支持面向?qū)ο蟮臄?shù)據(jù)庫查詢封裝,有助于減少或降低程序編譯期錯(cuò)誤;
  • 支持?jǐn)?shù)據(jù)庫事務(wù)嵌套;
  • 支持?jǐn)?shù)據(jù)庫存儲(chǔ)過程*;

Maven包依賴

<dependency>
    <groupId>net.ymate.platform</groupId>
    <artifactId>ymate-platform-persistence-jdbc</artifactId>
    <version>2.0-SNAPSHOT</version>
</dependency>

:在項(xiàng)目的pom.xml中添加上述配置,該模塊已經(jīng)默認(rèn)引入核心包及持久化基礎(chǔ)包依賴,無需重復(fù)配置。

模塊初始化配置

#-------------------------------------
# JDBC持久化模塊初始化參數(shù)
#-------------------------------------

# 默認(rèn)數(shù)據(jù)源名稱,默認(rèn)值為default
ymp.configs.persistence.jdbc.ds_default_name=

# 數(shù)據(jù)源列表,多個(gè)數(shù)據(jù)源名稱間用'|'分隔,默認(rèn)為default
ymp.configs.persistence.jdbc.ds_name_list=

# 是否顯示執(zhí)行的SQL語句,默認(rèn)為false
ymp.configs.persistence.jdbc.ds.default.show_sql=

# 數(shù)據(jù)庫表前綴名稱,默認(rèn)為空
ymp.configs.persistence.jdbc.ds.default.table_prefix=

# 數(shù)據(jù)源適配器,可選值為已知適配器名稱或自定義適配置類名稱,默認(rèn)為default,目前支持已知適配器[default|dbcp|c3p0|jndi|...]
ymp.configs.persistence.jdbc.ds.default.adapter_class=

# 數(shù)據(jù)庫類型,可選參數(shù),默認(rèn)值將通過連接字符串分析獲得,目前支持[mysql|oracle|sqlserver|db2|sqlite|postgresql|hsqldb|h2]
ymp.configs.persistence.jdbc.ds.default.type=

# 數(shù)據(jù)庫方言,可選參數(shù),自定義方言將覆蓋默認(rèn)配置
ymp.configs.persistence.jdbc.ds.default.dialect_class=

# 數(shù)據(jù)庫連接驅(qū)動(dòng),可選參數(shù),框架默認(rèn)將根據(jù)數(shù)據(jù)庫類型進(jìn)行自動(dòng)匹配
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)過默認(rèn)密碼處理器加密后的admin字符串為wRI2rASW58E
ymp.configs.persistence.jdbc.ds.default.password=

# 數(shù)據(jù)庫訪問密碼是否已加密,默認(rèn)為false
ymp.configs.persistence.jdbc.ds.default.password_encrypted=

# 數(shù)據(jù)庫密碼處理器,可選參數(shù),用于對(duì)已加密數(shù)據(jù)庫訪問密碼進(jìn)行解密,默認(rèn)為空
ymp.configs.persistence.jdbc.ds.default.password_class=

配置參數(shù)補(bǔ)充說明:

數(shù)據(jù)源的數(shù)據(jù)庫連接字符串和用戶名是必填項(xiàng),其它均為可選參數(shù),最簡(jiǎn)配置如下:

ymp.configs.persistence.jdbc.ds.default.connection_url=jdbc:mysql://localhost:3306/mydb

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

為了避免明文密碼出現(xiàn)在配置文件中,YMP框架提供了默認(rèn)的數(shù)據(jù)庫密碼處理器,或者通過IPasswordProcessor接口自行實(shí)現(xiàn);

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

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)