1.使用freemarket 生成sql语句
Index.xml:
<?xml version="1.0" encoding="UTF-8"?>
<sqls>
<sql id="queryAccountTransfers"><![CDATA[
<#assign where>
<#if date??>
and transferTime>=:date
</#if>
<#if date_end??>
and transferTime<=:date_end
</#if>
<#if money??>
and srcMoney>=:money
</#if>
<#if money_end??>
and srcMoney<=:money_end
</#if>
<#if scrAccountId??>
and srcAccountId=:scrAccountId
</#if>
<#if tgtAccountId??>
and tgtAccountId=:tgtAccountId
</#if>
</#assign>
<#assign where=where?trim>
select *
from ${tbl_main}
where isdelete=0 and userid=${userid}
${where}
]]></sql>
</sqls>
2.调用,与Index.xml在同一级目录
public static void main(String[] arg) {
StringTemplateLoader STL = new StringTemplateLoader();
Configuration CONFIG = new Configuration();
CONFIG.setTemplateLoader(STL);
InputStream is = null;
try {
is = Index.class.getResourceAsStream("Index.xml");
Document doc = DocumentHelper.parseText(IOUtils.toString(is));
List<Element> es = doc.selectNodes("sqls/sql");
for (Element e : es)
STL.putTemplate(e.attributeValue("id"), e.getTextTrim());
} catch (Exception e) {
throw new IllegalStateException(e);
} finally {
IOUtils.closeQuietly(is);
}
Map cond = new HashMap<String, Object>();
cond.put("userid", "'1'");
cond.put("tbl_main", "t_accountTransfer");
StringWriter sw = new StringWriter();
try {
//生成sql
CONFIG.getTemplate("queryAccountTransfers").process(cond, sw);
//打印
System.out.println(sw);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
3.
select * from t_accountTransfer where isdelete=0 and userid= '1'
分享到:
相关推荐
SqlFactory用于创建Sql.java对象,用于GeneratorFacade.generateBySql()使用 JavaClass模板变量,用于GeneratorFacade.generateByClass()使用 重复生成代码 现rapid自带的模板都不支持重复生成代码的,如果你需要...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥...
3.7.3. 使用FactoryBean定制实例化逻辑 3.8. ApplicationContext 3.8.1. 利用MessageSource实现国际化 3.8.2. 事件 3.8.3. 底层资源的访问 3.8.4. ApplicationContext在WEB应用中的实例化 3.9. 粘合代码和可怕的...
3.7.3. 使用FactoryBean定制实例化逻辑 3.8. ApplicationContext 3.8.1. 利用MessageSource实现国际化 3.8.2. 事件 3.8.3. 底层资源的访问 3.8.4. ApplicationContext在WEB应用中的实例化 3.9. 粘合代码和可怕...
3.7.3. 使用FactoryBean定制实例化逻辑 3.8. ApplicationContext 3.8.1. 利用MessageSource实现国际化 3.8.2. 事件 3.8.3. 底层资源的访问 3.8.4. ApplicationContext在WEB应用中的实例化 3.9. 粘合代码和可怕...
11.5.2. 使用SimpleJdbcInsert来获取自动生成的主键 11.5.3. 指定SimpleJdbcInsert所使用的字段 11.5.4. 使用SqlParameterSource提供参数值 11.5.5. 使用SimpleJdbcCall调用存储过程 11.5.6. 声明SimpleJdbcCall...
11.5.2. 使用SimpleJdbcInsert来获取自动生成的主键 11.5.3. 指定SimpleJdbcInsert所使用的字段 11.5.4. 使用SqlParameterSource提供参数值 11.5.5. 使用SimpleJdbcCall调用存储过程 11.5.6. 声明SimpleJdbcCall...
1. 创建数据库AdminLTE-admin,导入resource/sql/AdminLTE-admin.sql 2. cd ~/AdminLTE-admin 3. mvn clean package -Dmaven.test.skip=true 4. mvn jetty:run 5. http://localhost:8080,账号/密码:admin/123456 ...
* 以反射和注解为基础,演示数据库SQL的自动生成 * 注解的默认值,默认注解,元注解和内置注解 * 以全局实例管理为例,演示一般性的框架设计方法三、课程体系 〖Java学习指南〗系列:包含入门与进阶语法,Swing...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...
开发它是用于在UTF-8 Oracle实例中使用ASCII编码的Oracle 数据库中来正确的传输非ASCII字符。 Java模板语言 Beetl Beetl,是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,...