SQL模板 
完美结合框架,旨在替换重要列名 表名
普通模板- CmdTemplate 
普通的SQL模板,推荐使用 Methods.tpl静态方法去创建
函数模板- FunTemplate 
后续可继续调用框架的函数,推荐使用 Methods.fTpl静态方法去创建
条件模板- ConditionTemplate 
用于 where 中,推荐使用 Methods.cTpl静态方法去创建
关于模板特殊字符 单引号"'"导致模板错误 
模板使用的MessageFormat替换占位的,单引号"'"属于MessageFormat特殊字符;
1:如果要消除错误,需要2个单引号表达单引号
2:也可以开启封装模式,第一个参数为boolean true 即可;例如
java
Methods.cTpl(true,"{0}+{1}='12123'",cs[0],cs[1]);
//true就是框架自动把'改成'';自动消除影响;让模板SQL看着更美观SQL模板如何用? 
3个模板类:普通模板 CmdTemplate ,函数模板 FunTemplate(后续可继续调用框架的函数),条件模板 ConditionTemplate(可用于 where 中)
java
QueryChain queryChain = QueryChain.of(sysUserMapper);
queryChain.select(SysUser::getRole_id, c -> Methods.tpl("count({0})+{1}", c, "1"));
queryChain.from(SysUser.class);
queryChain.and(GetterFields.of(SysUser::getId, SysUser::getId),cs -> Methods.cTpl("{0}+{1}={2}", cs[0], cs[1], 2));
queryChain.returnType(String.class);
String str = queryChain.get();java
QueryChain queryChain = QueryChain.of(sysUserMapper);
queryChain.select(SysUser::getRole_id, c -> Methods.fTpl("count({0})",c).plus(1).concat(1,"2",3).length());
queryChain.from(SysUser.class);
queryChain.and(GetterFields.of(SysUser::getId, SysUser::getId),cs -> Methods.cTpl("{0}+{1}={2}", cs[0], cs[1], 2));
queryChain.returnType(String.class);
String str = queryChain.get();特殊字符说明,例如:单引号 
解决模板中含有特殊字符 ,方法一:使用2个单引号表达 
解决模板中含有特殊字符 ,方法二:不使用固定的值,例如 
Methods.tpl("{0}='abc'", c) 
改成
Methods.tpl("{0}={1}", c,"abc")