public abstract class DMLConfig extends java.lang.Object implements XMLable, ColumnRowRelated
限定符和类型 | 类和说明 |
---|---|
static class |
DMLConfig.DMLColumnValues |
class |
DMLConfig.SimpleDataModel |
限定符和类型 | 字段和说明 |
---|---|
protected java.util.List<ColumnConfig> |
columnConfigList |
protected Condition |
condition |
protected Dialect |
dialect |
protected Table |
evaledTable |
static CalculatorKey |
KEY |
static CalculatorKey |
P_TAG |
protected java.util.List<NameSubmitJob> |
submitJobList |
protected Table |
table |
static java.lang.String |
XML_TAG
读写XML的标签
|
构造器和说明 |
---|
DMLConfig()
默认的构造函数
|
限定符和类型 | 方法和说明 |
---|---|
void |
addColumnConfig(ColumnConfig columnConfig)
添加一个指定的列操作信息
|
void |
addSubmitJob(NameSubmitJob nameSubmitJob)
添加一个指定的提交事务
|
void |
clearColumnConfigs()
清楚所有的列操作信息
|
void |
clearSubmitJobs()
清除所有的提交事务
|
java.lang.Object |
clone() |
protected void |
closeStatement(java.sql.Connection conn)
关闭对应conn中的statment
|
protected java.lang.Exception |
dealWithException(java.lang.Exception e)
对异常的一些特殊处理
|
protected void |
dealWithIllegal(java.sql.Connection conn,
Calculator ca)
有非法记录的处理逻辑
|
protected abstract int |
dmlSubmit(java.sql.Connection conn,
Calculator ca,
java.lang.Object[] columnValues,
java.util.Map kvMap)
数据和数据库的交互操作
|
protected abstract int |
dmlSubmitBatch(int index,
java.sql.Connection conn,
Calculator ca,
java.lang.Object[] columnValues,
java.util.Map kvMap)
批量提交
|
void |
execute(java.sql.Connection conn,
Calculator ca)
提交入库,但不需要返回数据库记录的更新
|
DBFeedback |
executeAndFeedback(java.sql.Connection conn,
Calculator ca)
计算并返回受影响的数据记录 暂时只处理Insert
|
DMLConfig.DMLColumnValues[] |
extractByValues2Column(java.lang.Object[] values2Column)
从value转化成column值
|
protected Where |
generateWhere(java.sql.Connection conn,
java.lang.Object[] columnValues) |
ColumnConfig |
getColumnConfig(int index)
获取指定索引上的列操作信息
|
int |
getColumnConfigCount()
获取列操作信息的数目
|
protected java.lang.Object |
getColumnDefValue(int columnIndexInSQL) |
protected java.lang.String |
getColumnName(int columnIndexInSQL) |
protected int |
getColumnType(java.lang.String columnName,
java.sql.Connection conn) |
Condition |
getCondition()
获取提交事务所提交条件
|
Dialect |
getDialect(java.sql.Connection conn)
获取数据操作对应的数据库方言
|
Table |
getOriTable()
获取需要操作的数据库表,不处理其表名以及表模式中的公式
|
ColumnRow[] |
getRelatedColumnRows()
获取和当前操作相关的所有格子信息组成的数组
|
ColumnRow[] |
getRelatedColumnRows(int idx)
获取和当前操作相关的所有格子信息组成的数组
|
NameSubmitJob |
getSubmitJob(int index)
获取指定索引上的提交事务
|
int |
getSubmitJobCount()
获取提交事务的数目
|
Table |
getTable()
获取需要操作的数据库表,处理其表名以及表模式中的公式
|
Table |
getTable(Calculator ca)
获取经过了公式运算后的表信息
|
int |
getTotalTimes() |
protected abstract boolean |
isIgnoreUpdate(Calculator ca) |
boolean |
isUpdateSelected()
值不改变不更新
|
void |
readXML(XMLableReader reader)
读取子节点,应该会被XMLableReader.readXMLObject()调用多次
|
void |
setCondition(Condition c)
设置提交事务田间
|
void |
setDialect(Dialect dialect)
设置提交配置对应的数据库方言
|
void |
setTable(Table table)
设置需要操作的数据库表
|
void |
setTotalTimes(int totalTimes) |
void |
setUpdateSelected(boolean updateSelected) |
java.lang.String |
toString()
转化成字符串
|
void |
writeXML(XMLPrintWriter writer)
Write XML.
|
public static final CalculatorKey KEY
public static final CalculatorKey P_TAG
public static final java.lang.String XML_TAG
protected Table table
protected transient Table evaledTable
protected Dialect dialect
protected java.util.List<ColumnConfig> columnConfigList
protected java.util.List<NameSubmitJob> submitJobList
protected Condition condition
public int getTotalTimes()
public void setTotalTimes(int totalTimes)
public Dialect getDialect(java.sql.Connection conn)
conn
- 数据库连接public void setDialect(Dialect dialect)
dialect
- 数据库方言public Table getTable()
public void setTable(Table table)
table
- 数据库表public Table getOriTable()
public Table getTable(Calculator ca)
ca
- 算子public void addColumnConfig(ColumnConfig columnConfig)
columnConfig
- 列操作信息public int getColumnConfigCount()
public ColumnConfig getColumnConfig(int index)
index
- 指定的索引public void clearColumnConfigs()
public void addSubmitJob(NameSubmitJob nameSubmitJob)
nameSubmitJob
- 带名字的提交事务public int getSubmitJobCount()
public NameSubmitJob getSubmitJob(int index)
index
- 指定的索引public void clearSubmitJobs()
public Condition getCondition()
public void setCondition(Condition c)
c
- 提交条件public boolean isUpdateSelected()
public void setUpdateSelected(boolean updateSelected)
public ColumnRow[] getRelatedColumnRows()
getRelatedColumnRows
在接口中 ColumnRowRelated
public ColumnRow[] getRelatedColumnRows(int idx)
idx
- 单元格组时候取第几组值public void execute(java.sql.Connection conn, Calculator ca) throws java.lang.Exception
conn
- 数据库连接对象ca
- 算子java.lang.Exception
- 异常public DBFeedback executeAndFeedback(java.sql.Connection conn, Calculator ca) throws java.lang.Exception
conn
- 数据库连接对象ca
- 算子java.lang.Exception
- 异常public DMLConfig.DMLColumnValues[] extractByValues2Column(java.lang.Object[] values2Column) throws java.lang.CloneNotSupportedException
values2Column
- 待转化的value值java.lang.CloneNotSupportedException
protected abstract int dmlSubmit(java.sql.Connection conn, Calculator ca, java.lang.Object[] columnValues, java.util.Map kvMap) throws java.sql.SQLException
conn
- 数据库连接ca
- 算子columnValues
- 要入库的列的值kvMap
- 插入时是否需要以这个Map里的值填充java.sql.SQLException
- 操作过程中出现错误则抛出此异常protected abstract int dmlSubmitBatch(int index, java.sql.Connection conn, Calculator ca, java.lang.Object[] columnValues, java.util.Map kvMap) throws java.sql.SQLException
index
- 数据索引conn
- 数据连接ca
- 算子columnValues
- 要入库的列的值kvMap
- 插入时是否需要以这个Map里的值填充java.sql.SQLException
- 操作过程中出现错误则抛出此异常protected abstract boolean isIgnoreUpdate(Calculator ca)
public void readXML(XMLableReader reader)
XMLReadable
readXML
在接口中 XMLReadable
reader
- XML读取对象XMLableReader
public void writeXML(XMLPrintWriter writer)
XMLWriter
protected Where generateWhere(java.sql.Connection conn, java.lang.Object[] columnValues)
protected int getColumnType(java.lang.String columnName, java.sql.Connection conn)
protected void closeStatement(java.sql.Connection conn) throws java.sql.SQLException
conn
- java.sql.SQLException
public java.lang.String toString()
toString
在类中 java.lang.Object
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
clone
在接口中 FCloneable
clone
在类中 java.lang.Object
java.lang.CloneNotSupportedException
- 如果克隆失败则抛出此异常protected java.lang.String getColumnName(int columnIndexInSQL)
protected java.lang.Object getColumnDefValue(int columnIndexInSQL)
protected java.lang.Exception dealWithException(java.lang.Exception e)
e
- protected void dealWithIllegal(java.sql.Connection conn, Calculator ca) throws java.sql.SQLException
java.sql.SQLException