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