public abstract class AbstractDialect extends Object implements IDialect
| Constructor and Description |
|---|
AbstractDialect() |
AbstractDialect(String identifierQuoteBegin,
String identifierQuoteEnd) |
| Modifier and Type | Method and Description |
|---|---|
String |
buildCountSQL(String originSql)
构建计算查询结果总记录数量的SQL语句
|
String |
buildCreateSql(Class<? extends IEntity> entityClass,
String prefix,
IShardingable shardingable)
构建创建实体数据表SQL语句
|
String |
buildDeleteByPkSql(Class<? extends IEntity> entityClass,
String prefix,
IShardingable shardingable,
Fields pkFields)
构建删除实体数据记录SQL语句
|
String |
buildDropSql(Class<? extends IEntity> entityClass,
String prefix,
IShardingable shardingable)
构建删除实体数据表SQL语句
|
String |
buildInsertSql(Class<? extends IEntity> entityClass,
String prefix,
IShardingable shardingable,
Fields fields)
构建插入实体数据记录SQL语句
|
String |
buildPagedQuerySql(String originSql,
int page,
int pageSize)
构建分页SQL语句
|
String |
buildSelectByPkSql(Class<? extends IEntity> entityClass,
String prefix,
IShardingable shardingable,
Fields pkFields,
Fields fields)
构建根据主键查询实体数据记录SQL语句
|
String |
buildSelectSql(Class<? extends IEntity> entityClass,
String prefix,
IShardingable shardingable,
Fields fields)
构建查询全部实体数据记录SQL语句
|
String |
buildTableName(String prefix,
EntityMeta entityMeta,
IShardingable shardingable)
获取完整的数据表名称,并根据数据库特性决定是否添加引用标识符
|
String |
buildTableName(String prefix,
String tableName,
IShardingRule shardingRule,
IShardingable shardingable)
获取完整的数据表名称,并根据数据库特性决定是否添加引用标识符
|
String |
buildUpdateByPkSql(Class<? extends IEntity> entityClass,
String prefix,
IShardingable shardingable,
Fields pkFields,
Fields fields)
构建更新实体数据记录SQL语句
|
protected String |
doGenerateFieldsFormatStr(Fields fields,
String suffix,
String separator) |
protected String |
doRemoveOrderByElements(String originSql) |
protected void |
doValidProperty(EntityMeta entityMeta,
Fields fields,
boolean isPrimaryKeys)
验证字段是否合法有效
|
Map<String,Object> |
getGeneratedKey(Statement statement,
List<String> autoincrementKeys)
获取自增主键值(按 Long 类型返回),采用JDBC Statement对象获取自动生成的主键(仅处理单主键)
|
String |
getIdentifierQuoteBegin()
获取引用标识符
|
String |
getIdentifierQuoteEnd()
获取引用标识符
|
String |
getSequenceNextValSql(String sequenceName)
获取下一序列值的SQL语句
|
boolean |
hasIdentifierQuote()
是否存在引用标识符
|
void |
setIdentifierQuote(String identifierQuoteBegin,
String identifierQuoteEnd)
设置引用标识符
|
String |
wrapIdentifierQuote(String origin)
添加引用标识符的字段或表名称,防止字段或表名与关键字冲突,此接口方法默认实现按原样返回
|
public String wrapIdentifierQuote(String origin)
IDialectwrapIdentifierQuote in interface IDialectorigin - 字段或表名称public void setIdentifierQuote(String identifierQuoteBegin, String identifierQuoteEnd)
IDialectsetIdentifierQuote in interface IDialectidentifierQuoteBegin - 引用标识符开始identifierQuoteEnd - 引用标识符结束public boolean hasIdentifierQuote()
IDialecthasIdentifierQuote in interface IDialectpublic String getIdentifierQuoteBegin()
IDialectgetIdentifierQuoteBegin in interface IDialectpublic String getIdentifierQuoteEnd()
IDialectgetIdentifierQuoteEnd in interface IDialectpublic Map<String,Object> getGeneratedKey(Statement statement, List<String> autoincrementKeys) throws SQLException
IDialectgetGeneratedKey in interface IDialectstatement - Statement对象autoincrementKeys - 自定义自增字段名称集合SQLException - 可能产生的异常public String getSequenceNextValSql(String sequenceName)
IDialectgetSequenceNextValSql in interface IDialectsequenceName - 序列名称public String buildPagedQuerySql(String originSql, int page, int pageSize)
IDialectbuildPagedQuerySql in interface IDialectoriginSql - 原SQL语句page - 页号pageSize - 每页记录数public String buildCountSQL(String originSql)
IDialectbuildCountSQL in interface IDialectoriginSql - 原SQL语句public String buildCreateSql(Class<? extends IEntity> entityClass, String prefix, IShardingable shardingable)
IDialectbuildCreateSql in interface IDialectentityClass - 实体模型类prefix - 实体名称前缀shardingable - 分片(表)参数对象public String buildDropSql(Class<? extends IEntity> entityClass, String prefix, IShardingable shardingable)
IDialectbuildDropSql in interface IDialectentityClass - 实体模型类prefix - 实体名称前缀shardingable - 分片(表)参数对象protected String doGenerateFieldsFormatStr(Fields fields, String suffix, String separator)
fields - 字段名称集合suffix - 字段名称后缀,可选separator - 分隔符,可选,默认“, ”public String buildTableName(String prefix, EntityMeta entityMeta, IShardingable shardingable)
IDialectbuildTableName in interface IDialectprefix - 数据表名称前缀entityMeta - 数据实体属性描述对象shardingable - 分片(表)参数对象public String buildTableName(String prefix, String tableName, IShardingRule shardingRule, IShardingable shardingable)
IDialectbuildTableName in interface IDialectprefix - 数据表名称前缀tableName - 数据表名称shardingRule - 数据分片(表)规则shardingable - 分片(表)参数对象protected void doValidProperty(EntityMeta entityMeta, Fields fields, boolean isPrimaryKeys)
entityMeta - 数据实体属性描述对象fields - 字段名称集合isPrimaryKeys - fields中存放的是否为主键public String buildInsertSql(Class<? extends IEntity> entityClass, String prefix, IShardingable shardingable, Fields fields)
IDialectbuildInsertSql in interface IDialectentityClass - 实体模模型类prefix - 实体名称前缀shardingable - 分片(表)参数对象fields - 字段名称集合,可选参数,若不指定则包括全部字段public String buildDeleteByPkSql(Class<? extends IEntity> entityClass, String prefix, IShardingable shardingable, Fields pkFields)
IDialectbuildDeleteByPkSql in interface IDialectentityClass - 实体模模型类prefix - 实体名称前缀shardingable - 分片(表)参数对象pkFields - 主键字段名称集合,可选参数,若不指定则包括全部主键public String buildUpdateByPkSql(Class<? extends IEntity> entityClass, String prefix, IShardingable shardingable, Fields pkFields, Fields fields)
IDialectbuildUpdateByPkSql in interface IDialectentityClass - 实体模模型类prefix - 前缀名称shardingable - 分片(表)参数对象pkFields - 主键字段名称集合,可选参数,若不指定则包括全部主键fields - 字段名称集合,可选参数,若不指定则包括全部字段public String buildSelectByPkSql(Class<? extends IEntity> entityClass, String prefix, IShardingable shardingable, Fields pkFields, Fields fields)
IDialectbuildSelectByPkSql in interface IDialectentityClass - 实体模模型类prefix - 实体名称前缀shardingable - 分片(表)参数对象pkFields - 主键字段名称集合,可选参数,若不指定则包括全部主键fields - 字段名称集合,可选参数,若不指定则包括全部字段public String buildSelectSql(Class<? extends IEntity> entityClass, String prefix, IShardingable shardingable, Fields fields)
IDialectbuildSelectSql in interface IDialectentityClass - 实体模模型类prefix - 实体名称前缀shardingable - 分片(表)参数对象fields - 字段名称集合,可选参数,若不指定则包括全部字段Copyright © 2022. All rights reserved.