SQL模板
完美结合框架,旨在替换重要列名 表名
普通模板- CmdTemplate
普通的SQL模板,推荐使用 Methods.tpl静态方法去创建
函数模板- FunTemplate
后续可继续调用框架的函数,推荐使用 Methods.fTpl静态方法去创建
条件模板- ConditionTemplate
用于 where 中,推荐使用 Methods.cTpl静态方法去创建
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")