public class BaseSQLExecutor extends Object implements SQLExecutor
BaseStatementOnlySQLExecutor| 限定符和类型 | 类和说明 |
|---|---|
static class |
BaseSQLExecutor.ResultSetHolder |
static class |
BaseSQLExecutor.ResultUpdateHolder |
| 构造器和说明 |
|---|
BaseSQLExecutor(ExecuteContext executeContext) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
addMoreParasFromTarget(Class target,
Map map) |
protected Object |
afterBean(Object result)
bean后处理
|
protected void |
applyStatementSetting(ExecuteContext ctx,
Connection conn,
Statement statement) |
protected void |
assignKeyHolder(KeyHolder holder,
Object paras)
把
KeyHolder的值赋值回Bean |
Map |
beforeExecute(Class target,
Object paras,
boolean isUpdate)
封装传入的参数为Map结构,在Beetl中执行
|
protected void |
callInterceptorAsAfter(InterceptorContext ctx,
Object result)
Interceptor sql执行后置拦截器 |
protected InterceptorContext |
callInterceptorAsBefore(Map<String,Object> inputParas)
Interceptor sql执行前置拦截器 |
protected void |
callInterceptorAsException(InterceptorContext ctx,
Exception ex)
Interceptor sql执行异常拦截器 |
protected void |
clean(boolean isUpdate,
Connection conn,
org.beetl.sql.core.BaseSQLExecutor.Closeable closeable) |
protected void |
clean(boolean isUpdate,
Connection conn,
PreparedStatement ps) |
protected void |
clean(ExecuteContext executeContext,
Connection conn) |
protected void |
closeConnection(Connection conn,
boolean isUpdate) |
protected BaseSQLExecutor.ResultSetHolder |
dbQuery(Connection conn,
String sql,
List<SQLParameter> jdbcPara) |
protected BaseSQLExecutor.ResultUpdateHolder |
dbUpdate(Connection conn,
String sql,
List<SQLParameter> jdbcPara) |
protected BaseSQLExecutor.ResultUpdateHolder |
dbUpdateWithHolder(Connection conn,
String sql,
List<SQLParameter> jdbcPara,
String[] cols) |
int |
deleteById(Class<?> clazz,
Object objId) |
boolean |
existById(Class clazz,
Object objId) |
ExecuteContext |
getExecuteContext() |
protected String[] |
getKeyHolderCols(KeyHolder holder,
Class target) |
protected void |
handleHolder(Statement ps,
KeyHolder holder)
插入单条数据后,数据库自动生成值赋值给Holder
|
int |
insert(Class clazz,
Object paras)
插入一条记录到clazz指定的表,参数是paras,clazz如果申明了自增,序列,或者其他数据库返回值,
插入后,会取出这些值赋值到paras对象里
|
Object[] |
insert(Class target,
Object paras,
String[] cols)
插入数据,cols表明需要获取的返回数据,比如自增id,或者其他数据库自动生成数据
|
protected int |
insert(Object paras,
KeyHolder holder) |
int[] |
insertBatch(Class<?> target,
List<?> list) |
protected static boolean |
isBaseDataType(Class<?> clazz) |
<T> List<T> |
mappingSelect(Class<T> target,
ResultSet rs)
将JDBC结果集映射到clazz,所有查询api都调用此接口做映射
|
SQLResult |
run(Map<String,Object> parasMap)
执行sql模板,得到sql语句和参数
|
SQLResult |
run(Map<String,Object> parasMap,
TemplateContext ctx)
sql模板里调用,比如use
|
protected <T> List<T> |
select(Class<T> clazz,
Map<String,Object> paras) |
<T> List<T> |
select(Class<T> clazz,
Object paras)
查询,映射结果到clazz里
|
<T> List<T> |
select(Class<T> target,
Object paras,
Object start,
long size)
范围查找
|
long |
selectCount(Object paras) |
protected <T> T |
selectSingle(Map<String,Object> map,
Class<T> target) |
<T> T |
selectUnique(Class<T> target,
Object paras)
获取一条记录,如果有多条或者没有,抛异常
|
protected void |
setIdsParas(ClassDesc desc,
Object obj,
Map<String,Object> paras) |
protected void |
setPreparedStatementPara(PreparedStatement ps,
List<SQLParameter> objs) |
<T> T |
single(Class<T> target,
Object objId) |
protected <T> T |
single(Class<T> clazz,
Object objId,
boolean throwException) |
<T> T |
singleSelect(Class<T> target,
Object paras)
获得一条记录,如果有多条,取第一条,如果没有,则返回null
|
int[] |
sqlReadyBatchExecuteUpdate(SQLBatchReady batch) |
int |
sqlReadyExecuteUpdate(SQLReady p) |
<T> List<T> |
sqlReadySelect(Class<T> clazz,
SQLReady p) |
<T> StreamData<T> |
stream(Class<T> clazz,
Object obj) |
<T> StreamData<T> |
streamExecute(Class<T> clazz,
SQLReady p) |
<T> T |
unique(Class<T> target,
Object objId) |
int |
update(Class target,
Object object)
更新对象
|
int[] |
updateBatch(Class<?> target,
List<?> list) |
int[] |
updateBatch(List<?> list) |
public BaseSQLExecutor(ExecuteContext executeContext)
protected static boolean isBaseDataType(Class<?> clazz)
public int insert(Class clazz, Object paras)
SQLExecutorinsert 在接口中 SQLExecutorpublic Object[] insert(Class target, Object paras, String[] cols)
SQLExecutorinsert 在接口中 SQLExecutorpublic <T> T singleSelect(Class<T> target, Object paras)
SQLExecutorsingleSelect 在接口中 SQLExecutorpublic <T> T selectUnique(Class<T> target, Object paras)
SQLExecutorselectUnique 在接口中 SQLExecutorpublic <T> List<T> select(Class<T> clazz, Object paras)
SQLExecutorselect 在接口中 SQLExecutorpublic <T> List<T> mappingSelect(Class<T> target, ResultSet rs) throws SQLException
SQLExecutormappingSelect 在接口中 SQLExecutorSQLExceptionpublic <T> List<T> select(Class<T> target, Object paras, Object start, long size)
SQLExecutorselect 在接口中 SQLExecutorpublic long selectCount(Object paras)
selectCount 在接口中 SQLExecutorpublic int update(Class target, Object object)
SQLExecutorupdate 在接口中 SQLExecutorpublic int[] insertBatch(Class<?> target, List<?> list)
insertBatch 在接口中 SQLExecutorpublic int[] updateBatch(Class<?> target, List<?> list)
updateBatch 在接口中 SQLExecutorpublic int[] updateBatch(List<?> list)
updateBatch 在接口中 SQLExecutorpublic <T> T unique(Class<T> target, Object objId)
unique 在接口中 SQLExecutorpublic <T> T single(Class<T> target, Object objId)
single 在接口中 SQLExecutorpublic boolean existById(Class clazz, Object objId)
existById 在接口中 SQLExecutorpublic int deleteById(Class<?> clazz, Object objId)
deleteById 在接口中 SQLExecutorpublic <T> List<T> sqlReadySelect(Class<T> clazz, SQLReady p)
sqlReadySelect 在接口中 SQLExecutorpublic <T> StreamData<T> streamExecute(Class<T> clazz, SQLReady p)
streamExecute 在接口中 SQLExecutorpublic <T> StreamData<T> stream(Class<T> clazz, Object obj)
stream 在接口中 SQLExecutorpublic int sqlReadyExecuteUpdate(SQLReady p)
sqlReadyExecuteUpdate 在接口中 SQLExecutorpublic int[] sqlReadyBatchExecuteUpdate(SQLBatchReady batch)
sqlReadyBatchExecuteUpdate 在接口中 SQLExecutorpublic ExecuteContext getExecuteContext()
getExecuteContext 在接口中 SQLExecutorprotected void clean(boolean isUpdate,
Connection conn,
PreparedStatement ps)
protected void clean(boolean isUpdate,
Connection conn,
org.beetl.sql.core.BaseSQLExecutor.Closeable closeable)
protected void closeConnection(Connection conn, boolean isUpdate)
protected BaseSQLExecutor.ResultSetHolder dbQuery(Connection conn, String sql, List<SQLParameter> jdbcPara) throws SQLException
SQLExceptionprotected BaseSQLExecutor.ResultUpdateHolder dbUpdate(Connection conn, String sql, List<SQLParameter> jdbcPara) throws SQLException
SQLExceptionprotected BaseSQLExecutor.ResultUpdateHolder dbUpdateWithHolder(Connection conn, String sql, List<SQLParameter> jdbcPara, String[] cols) throws SQLException
SQLExceptionprotected void clean(ExecuteContext executeContext, Connection conn)
protected void handleHolder(Statement ps, KeyHolder holder) throws SQLException
ps - Statementholder - KeyHolderSQLException - if a database access error occurs
or this method is called on a closed Statementprotected void assignKeyHolder(KeyHolder holder, Object paras)
KeyHolder的值赋值回Beanholder - paras - protected void setPreparedStatementPara(PreparedStatement ps, List<SQLParameter> objs) throws SQLException
SQLExceptionpublic Map beforeExecute(Class target, Object paras, boolean isUpdate)
beforeExecute 在接口中 SQLExecutorparas - public SQLResult run(Map<String,Object> parasMap)
SQLExecutorrun 在接口中 SQLExecutorpublic SQLResult run(Map<String,Object> parasMap, TemplateContext ctx)
run 在接口中 SQLExecutorparasMap - ctx - protected InterceptorContext callInterceptorAsBefore(Map<String,Object> inputParas)
Interceptor sql执行前置拦截器inputParas - 执行sql传入的参数SqlManager 的 Interceptor[] 长度大于0返回 InterceptorContext
否则返回 null
protected void callInterceptorAsAfter(InterceptorContext ctx, Object result)
Interceptor sql执行后置拦截器ctx - 前置拦截器返回的 InterceptorContext 或 nullresult - sql执行结果protected void callInterceptorAsException(InterceptorContext ctx, Exception ex)
Interceptor sql执行异常拦截器ctx - 前置拦截器返回的 InterceptorContext 或 nullex - sql执行异常信息protected void applyStatementSetting(ExecuteContext ctx, Connection conn, Statement statement) throws SQLException
SQLExceptionCopyright © 2022. All rights reserved.