public abstract class OracleStampCommonality extends PlatformStampCommonality
| 限定符和类型 | 字段和说明 |
|---|---|
protected static OraclePlatformDialect |
dialect |
protected static String |
RE |
protected static String |
RS |
begins, builders, declareInBegin, declares, NL, NL_TAB, TAB| 构造器和说明 |
|---|
OracleStampCommonality() |
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
addAutoIncrement(MappingGlobalWrapper wrapper,
Class table,
String tableStr) |
protected void |
addCommentSQL(MappingGlobalWrapper wrapper,
StampAction action,
Object param,
String commentStr,
int type)
ORACLE的数据类型 -- ORACLE的数据类型
常用的数据库字段类型如下:
字段类型 中文说明 限制条件 其它说明
CHAR 固定长度字符串 最大长度2000 bytes
VARCHAR2 可变长度的字符串 最大长度4000 bytes 可做索引的最大长度749
NCHAR 根据字符集而定的固定长度字符串 最大长度2000 bytes
NVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000 bytes
DATE 日期(日-月-年) DD-MM-YY(HH-MI-SS) 无千虫问题
LONG 超长字符串 最大长度2G(231-1) 足够存储大部头著作
RAW 固定长度的二进制数据 最大长度2000 bytes 可存放多媒体图象声音等
LONG RAW 可变长度的二进制数据 最大长度2G 同上
BLOB 二进制数据 最大长度4G
CLOB 字符数据 最大长度4G
NCLOB 根据字符集而定的字符数据 最大长度4G
BFILE 存放在数据库外的二进制数据 最大长度4G
ROWID 数据表中记录的唯一行号 10 bytes ********.****.
|
protected void |
buildSelectFieldFun(MappingGlobalWrapper wrapper,
StampAction stampTables,
StampFieldFun fun,
StringBuilder sb) |
protected void |
buildWhere(MappingGlobalWrapper wrapper,
List<SQLDataPlaceholder> placeholders,
StampAction stampTables,
StampWhere where,
StringBuilder sb) |
protected String |
getColumnName(MappingGlobalWrapper wrapper,
StampAction stampTables,
StampColumn column) |
protected String |
getColumnName(MappingGlobalWrapper wrapper,
StampAction stampTables,
StampColumn column,
boolean hasRes)
oracle 的列名不区分大小写,但是如果被双引号引用的则区分大小写
比如
id 和 ID 一致
"id" 和 "ID" 不一致
如果列名不加双引号则创建表时数据库自动大写,加了双引号则为原始字符串
|
protected PlatformDialect |
getDialect() |
protected String |
getTableName(MappingGlobalWrapper wrapper,
Class table,
String tableName) |
protected void |
limit(StampLimit limit)
无order by
SELECT *
FROM (SELECT ROWNUM AS rowno, t.*
FROM emp t
WHERE hire_date BETWEEN TO_DATE ('20060501', 'yyyymmdd')
AND TO_DATE ('20060731', 'yyyymmdd')
AND ROWNUM <= 20) table_alias
WHERE table_alias.rowno >= 10;
有order by
SELECT *
FROM (SELECT tt.*, ROWNUM AS rowno
FROM ( SELECT t.*
FROM emp t
WHERE hire_date BETWEEN TO_DATE ('20060501', 'yyyymmdd')
AND TO_DATE ('20060731', 'yyyymmdd')
ORDER BY create_time DESC, emp_no) tt
WHERE ROWNUM <= 20) table_alias
WHERE table_alias.rowno >= 10;
|
protected StringBuilder |
multiDeleteOrUpdate(MappingGlobalWrapper wrapper,
Class delTable,
String delTableName,
StampFrom[] froms,
StampWhere where,
StampOrderBy[] orderBys,
StampLimit limit,
List<SQLDataPlaceholder> placeholders,
StampAction action,
Map<String,String> selectFieldMap) |
appendBuilderBegin, appendBuilderDeclare, appendBuilderEnd, appendBuilderWrapper, getBegins, getBuilders, getColumnType, getDeclares, multiExecuteImmediate, parseValue, toSQLStringprotected static OraclePlatformDialect dialect
protected PlatformDialect getDialect()
getDialect 在类中 PlatformStampCommonalityprotected String getTableName(MappingGlobalWrapper wrapper, Class table, String tableName)
protected String getColumnName(MappingGlobalWrapper wrapper, StampAction stampTables, StampColumn column)
protected String getColumnName(MappingGlobalWrapper wrapper, StampAction stampTables, StampColumn column, boolean hasRes)
如果列名不加双引号则创建表时数据库自动大写,加了双引号则为原始字符串
wrapper - stampTables - column - protected void buildWhere(MappingGlobalWrapper wrapper, List<SQLDataPlaceholder> placeholders, StampAction stampTables, StampWhere where, StringBuilder sb)
protected void buildSelectFieldFun(MappingGlobalWrapper wrapper, StampAction stampTables, StampFieldFun fun, StringBuilder sb)
protected void addCommentSQL(MappingGlobalWrapper wrapper, StampAction action, Object param, String commentStr, int type)
protected void addAutoIncrement(MappingGlobalWrapper wrapper, Class table, String tableStr)
protected void limit(StampLimit limit)
有order by SELECT * FROM (SELECT tt.*, ROWNUM AS rowno FROM ( SELECT t.* FROM emp t WHERE hire_date BETWEEN TO_DATE ('20060501', 'yyyymmdd') AND TO_DATE ('20060731', 'yyyymmdd') ORDER BY create_time DESC, emp_no) tt WHERE ROWNUM <= 20) table_alias WHERE table_alias.rowno >= 10;
limit - protected StringBuilder multiDeleteOrUpdate(MappingGlobalWrapper wrapper, Class delTable, String delTableName, StampFrom[] froms, StampWhere where, StampOrderBy[] orderBys, StampLimit limit, List<SQLDataPlaceholder> placeholders, StampAction action, Map<String,String> selectFieldMap)
Copyright © 2020. All rights reserved.