`
prodream
  • 浏览: 106146 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

使用freemarker生成sql实例

阅读更多

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'

分享到:
评论

相关推荐

    springmvc+freemarker带sql的登录事例

    在本示例中,我们将探讨如何使用Spring MVC和FreeMarker框架构建一个带有SQL数据库支持的登录系统。Spring MVC是Spring框架的一部分,它提供了一个模型-视图-控制器(MVC)架构,使得开发者可以轻松地处理Web应用的...

    Freemarker代码生成器实体映射xml的ftl模板文件

    这个`XML.ftl`文件就是核心,它是Freemarker模板的实例,其中定义了如何根据输入数据生成XML实体映射文件的规则。 首先,让我们深入理解Freemarker模板。FTL文件由一系列指令和表达式组成,这些指令和表达式决定了...

    基于spring boot 2集成hibernate及freemarker的简单实例

    通过Spring Boot 2、Hibernate和FreeMarker的集成,你可以创建一个轻量级的、面向对象的Web应用,其中数据访问层使用Hibernate简化数据库操作,而视图层利用FreeMarker生成动态HTML。这个简单的实例为初学者提供了一...

    SpringBoot mybatis druid pagehelper freemarker 整合实例

    在本实例中,我们将深入探讨如何整合SpringBoot、MyBatis、Druid、PageHelper以及FreeMarker这五大组件,创建一个高效且易于管理的Web应用。这些技术在现代Java开发中占据着重要的地位,尤其在构建后端服务时,它们...

    代码自动生成实例

    5. 生成代码:使用FreeMarker的`Template`类和`Configuration`类,将填充后的模板转化为Java源代码字符串。 6. 写入文件:使用Apache Commons IO将生成的Java代码写入指定的文件路径,完成实体类的创建。 代码自动...

    JFinal+freemarker+maven demo实例

    FreeMarker则是一个强大的、与语言无关的模板引擎,常用于生成动态Web内容。而Maven则是Java项目管理工具,它能帮助我们管理和构建项目,自动化依赖管理和构建流程。 首先,让我们来了解JFinal的核心特点: 1. **...

    spring + hibernate + freemarker项目实例

    通过Hibernate,开发者可以使用Java对象来操作数据库,而无需编写大量的SQL代码。它提供了数据持久化、查询、事务处理等功能,使得数据库操作更加灵活和高效。在本项目实例中,Spring和Hibernate的整合使得业务逻辑...

    maven2项目集成springmvc、spring3、freemarker、ibatis和EasyUI实例

    总的来说,这个项目是一个典型的Java Web应用架构,它利用Maven管理依赖,Spring MVC处理Web请求,Spring3负责组件管理和业务逻辑,iBatis处理数据库交互,Freemarker生成动态视图,而EasyUI则提供了用户友好的界面...

    maven+SSM+proxool+freemarker+dwr的留言板小实例支持mysql和sqlserver的切换

    这是一个基于Java Web开发的小型留言板应用实例,使用了Maven作为构建工具,SSM(Spring、SpringMVC、MyBatis)作为核心框架,Proxool作为连接池,Freemarker作为视图模板引擎,DWR(Direct Web Remoting)用于实现...

    springmvc+mybatis+ehcache+freemarker+sitemesh页面布局(注解)整合实例完美运行

    本实例主要涉及的技术栈包括SpringMVC、MyBatis、EhCache、FreeMarker以及Sitemesh,这些技术都是Java Web开发中的重要组件,各自承担着不同的职责。下面将分别详细介绍这些技术以及它们在整合中的作用。 1. ...

    Maven2项目集成springmvc,spring3,ibatis和freemarker实例

    在Web应用中,Freemarker与Spring MVC搭配使用,可以生成HTML页面。开发者可以在Freemarker模板文件中定义逻辑,然后由Spring MVC的ModelAndView对象提供数据,最终生成动态响应。 在实际开发中,首先需要在Eclipse...

    应用实例,可运行maven+springmvc+mybaits+freemarker+velocity

    这是一个基于Java技术栈的应用实例,整合了多个关键的开源框架,包括Maven、SpringMVC、MyBatis、FreeMarker和Velocity。这些技术在IT行业中广泛应用于开发企业级Web应用程序,构建高效、灵活且可维护的系统。接下来...

    FreeMarker教程

    在上述例子中,`Test1.java` 类展示了如何使用 FreeMarker 生成简单的文本输出,其中 `${user}` 在模板中被替换为数据模型中的值,即“老高”,最终输出“你好啊,老高,今天你的精神不错!”。 总的来说,...

    freemarker+ssm+maven整合.rar

    本项目是将Freemarker与SSM结合,并通过Maven进行依赖管理的实例。下面将详细介绍这个整合过程中的关键知识点。 1. **Spring框架**:Spring是一个开源的Java平台,它提供了AOP(面向切面编程)、IOC(控制反转)和...

    spring+hibernate+freemarker+jQuery 登录注册例子

    Spring提供了业务逻辑和安全框架,Hibernate负责数据持久化,Freemarker生成动态视图,而jQuery则增强了前端用户体验。通过这个实例,开发者可以学习到如何将这些组件有效地整合在一起,构建出健壮的Web应用程序。

    java代码自动生成.txt数据文件

    类似的,MyBatis的Mapper框架也允许开发者自定义XML或注解来生成SQL查询和对应的Java方法。 4. **注解处理器**: Java的注解处理器(Annotation Processor)可以在编译时读取自定义注解并生成源代码。比如,...

    springmvc+hibernate+freemarker基于注解

    最后,由FreeMarker生成动态HTML视图,返回给客户端。 这个压缩包文件“shf”可能包含了整个项目的所有文件,包括源代码、配置文件、资源文件等。为了运行这个项目,你需要将其解压,导入MyEclipse或类似的IDE,...

    freemarker+struts2+ibatis入门学习摘要

    4. **整合使用**: 在Struts2中,可以配置Action来调用iBatis的SqlSession,执行SQL操作。FreeMarker则作为视图渲染引擎,接收Action返回的数据,根据模板生成HTML页面。这种三层架构模式(控制层、服务层、视图层)...

    ssm-freemarker-demo.zip

    本实例是一个完整的项目,包含FreeMarker模板引擎与Spring、SpringMVC以及MyBatis的集成,同时使用了Maven作为构建工具,方便管理和依赖管理。下面将详细解析这一整合过程中的关键知识点。 1. **Spring框架**:...

    整合 freemarker +spring security + spring MVC + spring DATA jpa 前端jtable 简单的crud

    在本项目中,Freemarker将与Spring MVC协同工作,接收由后端Controller处理的数据,根据模板生成响应的网页内容,用于显示和编辑数据。 **Spring Security** 是Spring框架的一个子项目,专注于应用安全。它提供了...

Global site tag (gtag.js) - Google Analytics