public interface DBStyle extends DBAutoGeneratedSql
SchemaMetadataManager| 限定符和类型 | 方法和说明 |
|---|---|
default boolean |
batchGeneratedKeysSupport()
批量插入或者更新的时候聚,数据库是否支持自动生成值,如自增
|
SQLExecutor |
buildExecutor(ExecuteContext executeContext)
得到一个SQL执行类
SQLExecutor,它是系统的核心类之一 |
void |
config(SQLManager sqlManager)
在SQLManager配置好后,会调用此方法,最后对sqlmanager进行修改配置
|
int |
getDBType()
返回一个DBStyle代码
|
String |
getDefaultSchema()
通过jdbc connection可以得到 schema和catalog,但可能低版本驱动不支持,这里提供数据库默认的
|
int |
getIdType(Class c,
String idProperty) |
KeyWordHandler |
getKeyWordHandler() |
default int |
getMaxBatchCount()
jdbc 的batch 个数在数据库收到限制,beetlsql会把批处理数据分批处理
这里配置了一个数据库允许的最大批处理个数,默认1000个 TODO,SQLExecutor里未实现
|
String |
getName()
返回DBStyle名称
|
RangeSql |
getRangeSql()
翻页语句实现
|
String |
getSeqValue(String seqName)
通过序列名字返回获取序列值的sql片段,比如
|
SQLTemplateEngine |
getSQLTemplateEngine() |
void |
init(SQLTemplateEngine sqlTemplateEngine,
Properties ps)
初始化dbSt
|
MetadataManager |
initMetadataManager(ConnectionSource cs) |
MetadataManager |
initMetadataManager(ConnectionSource cs,
String defaultSchema,
String defaultCatalog) |
default boolean |
isNoSql()
是否是NOSql
|
default boolean |
metadataSupport()
对应的数据库是否支持jdbc metadata
|
default boolean |
preparedStatementSupport()
是否支持PreparedStatement,对于数据库来说,几乎都支持,对于Nosql,则不一定支持
|
void |
setKeyWordHandler(KeyWordHandler keyWordHandler)
sql中的关键字处理
|
void |
setOffsetStartZero(boolean offsetStartZero) |
default void |
streamConfig(ResultSet resultSet) |
String |
wrapStatementValue(Object value)
如果不支持preparedStatement,在直接使用Statement的时候,返回输出变量到sql语句里,例如,当变量是字符串a"bc
应该输出
"a\"bc",注意,需要考虑SQL注入漏洞 |
genDeleteById, genExistSql, genInsert, genInsertTemplate, genSelectAll, genSelectById, genSelectByIdForUpdate, genSelectByIds, genSelectByTemplate, genSelectCountByTemplate, genUpdateAbsolute, genUpdateAll, genUpdateById, genUpdateRawById, genUpdateTemplate, getNameConversion, setNameConversionString getName()
int getDBType()
RangeSql getRangeSql()
KeyWordHandler getKeyWordHandler()
String getSeqValue(String seqName)
seqName - SeqID,
OracleStyle.getSeqValue(String)void setKeyWordHandler(KeyWordHandler keyWordHandler)
keyWordHandler - default int getMaxBatchCount()
default boolean isNoSql()
default boolean metadataSupport()
default boolean preparedStatementSupport()
default boolean batchGeneratedKeysSupport()
default void streamConfig(ResultSet resultSet)
String wrapStatementValue(Object value)
"a\"bc",注意,需要考虑SQL注入漏洞value - SQLExecutor buildExecutor(ExecuteContext executeContext)
SQLExecutor,它是系统的核心类之一executeContext - MetadataManager initMetadataManager(ConnectionSource cs)
MetadataManager initMetadataManager(ConnectionSource cs, String defaultSchema, String defaultCatalog)
void init(SQLTemplateEngine sqlTemplateEngine, Properties ps)
sqlTemplateEngine - ps - String getDefaultSchema()
void setOffsetStartZero(boolean offsetStartZero)
SQLTemplateEngine getSQLTemplateEngine()
void config(SQLManager sqlManager)
sqlManager - ClickHouseStyleCopyright © 2021. All rights reserved.