public abstract class AbstractJdbcSqlExecutor extends Object implements SqlExecutor
| 限定符和类型 | 类和说明 |
|---|---|
static class |
AbstractJdbcSqlExecutor.SQLInfo |
| 限定符和类型 | 字段和说明 |
|---|---|
static Pattern |
APPEND_PATTERN
直接拼接sql的编译表达式: ${}
|
protected org.slf4j.Logger |
logger |
static Pattern |
PREPARED_PATTERN
进行参数预编译的表达式:#{}
|
protected org.apache.commons.beanutils.PropertyUtilsBean |
propertyUtils
对象属性操作工具
|
mapWrapper| 构造器和说明 |
|---|
AbstractJdbcSqlExecutor() |
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
closeResultSet(ResultSet resultSet) |
protected void |
closeStatement(Statement statement) |
protected List<AbstractJdbcSqlExecutor.SQLInfo> |
compileAllSql(SQL sql) |
AbstractJdbcSqlExecutor.SQLInfo |
compileSql(SQL sql)
将sql模板编译为sql信息
模板语法:${}代表直接拼接sql,#{}使用预编译
如: 模板参数为:{name:"张三",age:10},sql为:select * from user where name=#{name} and age=${age}
将被编译为:select * from user where name=?
|
int |
delete(SQL sql)
执行delete
|
static String |
escapeExprSpecialWord(String keyword) |
void |
exec(SQL sql)
执行sql
|
abstract Connection |
getConnection()
获取jdbc链接,由子类实现
|
protected Object |
getSqlParamValue(Object param,
String paramName) |
int |
insert(SQL sql)
执行insert
|
<T> List<T> |
list(SQL sql,
ObjectWrapper<T> wrapper)
传入SQL对象和对象包装器执行查询,将查询结果通过对象包装器进行包装后返回
|
protected void |
preparedParam(PreparedStatement statement,
AbstractJdbcSqlExecutor.SQLInfo info)
预编译参数
|
protected void |
printSql(AbstractJdbcSqlExecutor.SQLInfo info) |
abstract void |
releaseConnection(Connection connection)
释放连接,在执行完sql后,将释放此链接
|
<T> T |
single(SQL sql,
ObjectWrapper<T> wrapper)
传入SQL对象和对象包装器执行查询,将查询结果通过对象包装器进行包装后返回
只返回单个结果,如果sql结果存在多个值,则返回首个值
|
boolean |
tableExists(String tname) |
int |
update(SQL sql)
执行update
|
protected org.slf4j.Logger logger
public static final Pattern APPEND_PATTERN
public static final Pattern PREPARED_PATTERN
protected org.apache.commons.beanutils.PropertyUtilsBean propertyUtils
PropertyUtilsBeanpublic abstract Connection getConnection()
public AbstractJdbcSqlExecutor.SQLInfo compileSql(SQL sql)
sql - sql模板 ,参考SimpleSQLprotected List<AbstractJdbcSqlExecutor.SQLInfo> compileAllSql(SQL sql)
public abstract void releaseConnection(Connection connection) throws SQLException
SQLExceptionpublic <T> List<T> list(SQL sql, ObjectWrapper<T> wrapper) throws SQLException
SqlExecutorlist 在接口中 SqlExecutorT - 查询结果类型泛型sql - sql对象 参照SimpleSQLwrapper - 执行结果对象包装器 参照SimpleMapWrapperSQLException - 执行查询异常protected void closeResultSet(ResultSet resultSet)
protected void closeStatement(Statement statement)
public <T> T single(SQL sql, ObjectWrapper<T> wrapper) throws SQLException
SqlExecutorsingle 在接口中 SqlExecutorT - 查询结果类型泛型sql - sql对象 参照SimpleSQLwrapper - 对象包装其SQLException - 执行查询异常public void exec(SQL sql) throws SQLException
SqlExecutorexec 在接口中 SqlExecutorsql - sql对象 参照SimpleSQLSQLException - 执行异常public int update(SQL sql) throws SQLException
SqlExecutorupdate 在接口中 SqlExecutorsql - sql对象 参照SimpleSQLSQLException - 执行异常public int delete(SQL sql) throws SQLException
SqlExecutordelete 在接口中 SqlExecutorsql - sql对象 参照SimpleSQLSQLException - 执行异常public int insert(SQL sql) throws SQLException
SqlExecutorinsert 在接口中 SqlExecutorsql - sql对象 参照SimpleSQLSQLException - 执行异常public boolean tableExists(String tname) throws SQLException
tableExists 在接口中 SqlExecutorSQLExceptionprotected void preparedParam(PreparedStatement statement, AbstractJdbcSqlExecutor.SQLInfo info) throws SQLException
statement - info - ExceptionSQLExceptionprotected void printSql(AbstractJdbcSqlExecutor.SQLInfo info)
Copyright © 2017. All rights reserved.