Class NutSqlTpl
java.lang.Object
org.nutz.dao.impl.sql.NutStatement
org.nutz.dao.impl.sql.NutSql
tech.riemann.nif.nutz.dao.sqltpl.NutSqlTpl
- All Implemented Interfaces:
Serializable, org.nutz.dao.sql.DaoStatement, org.nutz.dao.sql.Sql
- Direct Known Subclasses:
BeetlSqlTpl, FreeMarkerSqlTpl
public abstract class NutSqlTpl
extends org.nutz.dao.impl.sql.NutSql
NutSqlTpl是一个抽象模板类,继承自NutSql,用于处理SQL模板渲染 该类确保在获取SQL相关信息前必须完成渲染操作
- Author:
- Kerbores(kerbores@gmail.com)
- See Also:
-
Field Summary
FieldsFields inherited from class org.nutz.dao.impl.sql.NutSql
callback, customValueAdaptor, items, paramIndex, params, placeholder, rows, sourceSql, varIndex, varsFields inherited from class org.nutz.dao.impl.sql.NutStatement
expert -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class org.nutz.dao.impl.sql.NutSql
_params_count, addBatch, appendSourceSql, changePlaceholder, clearBatch, duplicate, getOutParams, getSourceSql, literal, onAfter, onBefore, paramIndex, params, setCallback, setCondition, setEntity, setPager, setParam, setParams, setSourceSql, setValueAdaptor, setVar, setVars, varIndex, varsMethods inherited from class org.nutz.dao.impl.sql.NutStatement
forceExecQuery, forPrint, getAdapterBy, getBoolean, getContext, getDouble, getDouble, getEntity, getFloat, getFloat, getInt, getInt, getList, getLong, getLong, getNumber, getObject, getResult, getSqlType, getString, getUpdateCount, isAlter, isCall, isCreate, isDelete, isDrop, isExec, isForceExecQuery, isInsert, isOther, isRun, isSelect, isUpdate, param2String, setContext, setExpert, setQueryTimeout, setSqlType, toExampleStatement, toStatement, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.nutz.dao.sql.DaoStatement
forceExecQuery, forPrint, getBoolean, getContext, getDouble, getDouble, getEntity, getFloat, getFloat, getInt, getInt, getList, getLong, getLong, getNumber, getObject, getResult, getSqlType, getString, getUpdateCount, isAlter, isCall, isCreate, isDelete, isDrop, isExec, isForceExecQuery, isInsert, isOther, isRun, isSelect, isUpdate, setExpert, setQueryTimeout, toString
-
Field Details
-
renderComplete
protected volatile boolean renderComplete标识渲染是否完成的标志位低级: volatile——防多线程复用一个 Sql 实例时 checkRender 竞态(重复渲染或漏渲染)
-
-
Constructor Details
-
NutSqlTpl
-
-
Method Details
-
getAdaptors
public org.nutz.dao.jdbc.ValueAdaptor[] getAdaptors()获取值适配器数组,在获取之前会检查并执行渲染操作- Specified by:
getAdaptorsin interfaceorg.nutz.dao.sql.DaoStatement- Overrides:
getAdaptorsin classorg.nutz.dao.impl.sql.NutSql- Returns:
- 值适配器数组
-
toPreparedStatement
转换为预处理SQL语句,在转换之前会检查并执行渲染操作- Specified by:
toPreparedStatementin interfaceorg.nutz.dao.sql.DaoStatement- Overrides:
toPreparedStatementin classorg.nutz.dao.impl.sql.NutSql- Returns:
- 预处理SQL语句字符串
-
getParamMatrix
获取参数矩阵,在获取之前会检查并执行渲染操作- Specified by:
getParamMatrixin interfaceorg.nutz.dao.sql.DaoStatement- Overrides:
getParamMatrixin classorg.nutz.dao.impl.sql.NutSql- Returns:
- 参数矩阵对象数组
-
checkRender
protected void checkRender()检查渲染状态,如果未完成渲染则执行渲染操作 -
render
protected abstract void render()抽象渲染方法,由子类实现具体的渲染逻辑
-