多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## ExecuteContext `ExecuteContext`代表了BeetlSQL的执行上下文信息,SQLExecutor.getExecuteContext 返回一个实现。通常这个类不需要扩展 ```java public class ExecuteContext { /** * sqlId */ public SqlId sqlId ; /** * select 语句需要映射的对象,有可能没有,比如update语句 */ public Class target; /** * 原始参数 */ public Object inputParas; /** * sql模板 */ public SQLSource sqlSource; /** * ViewType类型,如果viewType不为null */ public Class viewClass = null; /** * 行映射类,与resultMapper只能二选一存在 */ public RowMapper rowMapper = null; /** * Bean映射类 */ public ResultSetMapper resultMapper = null; /** * 用来负责将ResultSet映射到对象上,如果此不为null,则使用此类负责映射 * 否则,参考RowMapper或者ResultSetMapper,如果也为null,则使用SQLManager的默认的BeanProcessor */ public BeanProcessor beanProcessor = null; public SQLManager sqlManager; /** * sql模板渲染后的sql语句和参数 */ public SQLResult sqlResult = new SQLResult(); /** * Executor执行结果,非convert,fetch扩展操作结果 */ public Object executeResult; /** * 在执行过程中的产生控制 */ public Map<String,Object> contextParas; } ``` ​ 在BeetlSQL执行过程中,BeetlSQL依据context里提供的信息可以进一步扩展,比如根据rowmapper或者resultMapper进行映射,这俩个类可以在执行过程中改变,比如在sql模板语句中修改rowMapper实现类,以实现个性化映射。默认情况下,这俩个类为空,关于映射,参考下一章个性化映射