public interface Sql extends DaoStatement
Modifier and Type | Method and Description |
---|---|
void |
addBatch()
将当前的参数列表存储,以便执行批处理
|
Sql |
changePlaceholder(char param,
char var)
修改原有的占位符(默认是$和@),并重新解析.仅作用于当前SQL对象
|
void |
clearBatch()
清除所有的曾经设置过的参数
|
Sql |
duplicate() |
Record |
getOutParams()
获取存储过程的出参
|
String |
getSourceSql()
获取原始SQL
|
VarIndex |
paramIndex() |
VarSet |
params()
所谓"参数",就是当 Sql 对象转换成 PreparedStatement 对象前,会被填充成 ? 的占位符
|
Sql |
setCallback(SqlCallback callback)
当前 Statement 被执行完毕后,有可能会产生一个 ResultSet。 针对这个 ResultSet 你可以执行更多的操作。
|
Sql |
setCondition(Condition cnd)
为 SQL 增加条件,SQL 必须有 '$condition' 变量
|
Sql |
setEntity(Entity<?> entity)
重写父接口返回值
|
Sql |
setParam(String name,
Object value)
sql.params().set(name, value)的链式调用方式
|
void |
setSourceSql(String sql)
设置原始SQL,将重新解析里面的占位符
|
void |
setValueAdaptor(String name,
ValueAdaptor adaptor)
手动为某个语句参数设置适配器。
|
Sql |
setVar(String name,
Object value)
sql.vars().set(name, value)的链式调用方式
|
VarIndex |
varIndex() |
VarSet |
vars()
所谓"变量",就是当 Sql 对象转换成 Statement 对象前,预先被填充的占位符。
|
forceExecQuery, forPrint, getAdaptors, getBoolean, getContext, getDouble, getDouble, getEntity, getFloat, getFloat, getInt, getInt, getList, getLong, getLong, getNumber, getObject, getParamMatrix, getResult, getSqlType, getString, getUpdateCount, isAlter, isCall, isCreate, isDelete, isDrop, isExec, isForceExecQuery, isInsert, isOther, isRun, isSelect, isUpdate, onAfter, onBefore, setExpert, setPager, toPreparedStatement, toString
VarSet vars()
这个集合允许你为 SQL 的变量占位符设值
Sql setVar(String name, Object value)
name
- 变量名称value
- 变量值vars()
VarSet params()
集合是一个个的名值对,你设置了值的地方,会在执行时,被设置到 PreparedStatement中。
这样省却了你一个一个计算 ? 位置的烦恼
Sql setParam(String name, Object value)
name
- 参数名称value
- 参数值params()
void setValueAdaptor(String name, ValueAdaptor adaptor)
默认的,Sql 的实现类会自动根据你设置的值,自动为所有的参数设置适配器。
但是,有些时候,你可能传入了 null 值或者其他的特殊对象,
这里允许你主动为其设置一个适配器,这样你就有了终极手段最合理的适配你的参数对象
name
- 对应参数的名称adaptor
- 适配器实例VarIndex varIndex()
VarIndex paramIndex()
void addBatch()
void clearBatch()
Sql setEntity(Entity<?> entity)
setEntity
in interface DaoStatement
entity
- 实体Sql setCallback(SqlCallback callback)
当然如果不是 SELECT 语句,那么你依然可以设置一个回调,
当你的语句执行完毕后, 会调用它(Connection 不会被 commit),但是 ResultSet 参数会是 null
callback
- 回调函数Sql setCondition(Condition cnd)
cnd
- 条件Sql duplicate()
void setSourceSql(String sql)
sql
- String getSourceSql()
Record getOutParams()
Sql changePlaceholder(char param, char var)
param
- 参数占位符,默认是@var
- 变量占位符,默认是$Copyright © 2017. All rights reserved.