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