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