public abstract class SqlDbOperations extends java.lang.Object implements IDbOperations
限定符和类型 | 字段和说明 |
---|---|
protected java.lang.String |
RowEndParameterName |
protected java.lang.String |
RowStartParameterName |
构造器和说明 |
---|
SqlDbOperations() |
限定符和类型 | 方法和说明 |
---|---|
protected void |
aggregateData(HSqlCommand cmd) |
protected <T> T |
executeProcedure(HSqlCommand cmd,
java.util.function.Function<java.sql.ResultSet,T> readerHandler)
执行存储过程,执行结果,请从参数cmd中取
|
protected void |
fillProcParams(java.sql.CallableStatement cs,
java.util.List<ProgramParameter> params) |
void |
fillStatement(java.sql.PreparedStatement stmt,
java.util.List<java.lang.Object> params) |
protected DustDbException |
formatException(java.sql.SQLException ex,
HSqlCommand cmd) |
protected java.lang.String |
getAggregateSql(top.daxian1218.dust.commons.data.HDataColumn col) |
protected java.lang.Object |
getDbValue(java.lang.Object val,
java.sql.Connection connection) |
java.sql.PreparedStatement |
getQueryStatement(HSqlCommand cmd) |
protected abstract java.lang.String |
getSql(HSqlCommand cmd,
boolean isQuery)
生成SQL,需要提供具体的分页SQL
|
protected int |
getSqlType(ProgramParameter p) |
java.sql.PreparedStatement |
getUpdateStatement(HSqlCommand cmd) |
boolean |
isSupport(java.lang.String dbType)
检查是否支持对应的数据库操作
适配器会从工厂选择使用的
IDbOperations |
<T> T |
query(HDataCommand cmd,
java.util.function.Function<java.sql.ResultSet,T> readerHandler)
根据cmd,执行查询操作,返回结果集DataTable
注意:非Select操作,请勿调用该方法,有些操作可能导致异常
存储过程返回游标的操作也可用该方法
|
void |
releaseResultSetAndStatement(java.sql.ResultSet rs,
java.sql.Statement stmt)
释放数据集和数据库请求
|
void |
setPageParameter(java.util.List<java.lang.Object> parameters,
HSqlCommand cmd) |
protected HSqlCommand |
toSqlCommand(HDataCommand cmd) |
UpdateResult |
update(HDataCommand cmd)
更新数据,支持修改,新增和删除操作
|
UpdateResult |
update(HSqlCommand cmd)
更新数据,可执行insert, update, delete,以及有关数据库结构的操作(需要相应的权限)
|
protected final java.lang.String RowStartParameterName
protected final java.lang.String RowEndParameterName
protected HSqlCommand toSqlCommand(HDataCommand cmd)
public void fillStatement(java.sql.PreparedStatement stmt, java.util.List<java.lang.Object> params)
protected java.lang.Object getDbValue(java.lang.Object val, java.sql.Connection connection) throws java.sql.SQLException
java.sql.SQLException
public void releaseResultSetAndStatement(java.sql.ResultSet rs, java.sql.Statement stmt)
rs
- protected abstract java.lang.String getSql(HSqlCommand cmd, boolean isQuery)
cmd
- public java.sql.PreparedStatement getQueryStatement(HSqlCommand cmd) throws java.sql.SQLException
java.sql.SQLException
public void setPageParameter(java.util.List<java.lang.Object> parameters, HSqlCommand cmd)
protected DustDbException formatException(java.sql.SQLException ex, HSqlCommand cmd)
public java.sql.PreparedStatement getUpdateStatement(HSqlCommand cmd)
public <T> T query(HDataCommand cmd, java.util.function.Function<java.sql.ResultSet,T> readerHandler) throws DustDbException
query
在接口中 IDbOperations
cmd
- DustDbException
protected <T> T executeProcedure(HSqlCommand cmd, java.util.function.Function<java.sql.ResultSet,T> readerHandler) throws DustDbException
cmd
- DustDbException
()
,
HDataCommand.getParameter(String)
public UpdateResult update(HSqlCommand cmd) throws DustDbException
cmd
- DustDbException
public boolean isSupport(java.lang.String dbType)
IDbOperations
适配器会从工厂选择使用的IDbOperations
isSupport
在接口中 IDbOperations
protected void fillProcParams(java.sql.CallableStatement cs, java.util.List<ProgramParameter> params) throws java.sql.SQLException
java.sql.SQLException
protected int getSqlType(ProgramParameter p)
protected void aggregateData(HSqlCommand cmd) throws DustDbException
DustDbException
protected java.lang.String getAggregateSql(top.daxian1218.dust.commons.data.HDataColumn col)
public UpdateResult update(HDataCommand cmd) throws DustDbException
update
在接口中 IDbOperations
cmd
- DustDbException