`
baizheng
  • 浏览: 129270 次
社区版块
存档分类
最新评论

Appfuse之appgen模板修改

阅读更多

 如果pojo类中有多对一,一对多关系时,自动生成的sample-data.sql会有问题
 因此要修改sample-data.xdt

加黑的部分为增加,划线的为删除

<XDtTagDef:tagDef namespace="MethodEx" handler="org.example.antbook.xdoclet.MethodExTagsHandler"/>  <!--<XDtMethodEx:className/>-START-->

<XDtClass:forAllClasses abstract="true" sort="true">
<XDtClass:ifHasClassTag tagName="hibernate.class" paramName="table" superclasses="false">
  <table name='<XDtClass:classTagValue tagName="hibernate.class" paramName="table"/>'>
<XDtMethodEx:forAllMethods>
    <XDtMethodEx:ifHasMethodTag tagName="hibernate.id"><column><XDtMethodEx:ifHasMethodTag tagName="hibernate.id" paramName="column"><XDtMethodEx:methodTagValue tagName="hibernate.id" paramName="column"/></XDtMethodEx:ifHasMethodTag><XDtMethodEx:ifDoesntHaveMethodTag tagName="hibernate.id" paramName="column"><XDtMethodEx:propertyName/></XDtMethodEx:ifDoesntHaveMethodTag></column></XDtMethodEx:ifHasMethodTag>
    <XDtMethodEx:ifHasMethodTag tagName="hibernate.property"><column><XDtMethodEx:ifHasMethodTag tagName="hibernate.property" paramName="column"><XDtMethodEx:methodTagValue tagName="hibernate.property" paramName="column"/></XDtMethodEx:ifHasMethodTag><XDtMethodEx:ifDoesntHaveMethodTag tagName="hibernate.property" paramName="column"><XDtMethodEx:propertyName/></XDtMethodEx:ifDoesntHaveMethodTag></column></XDtMethodEx:ifHasMethodTag>
    <XDtMethodEx:ifHasMethodTag tagName="hibernate.column"><column><XDtMethodEx:ifHasMethodTag tagName="hibernate.column" paramName="name"><XDtMethodEx:methodTagValue tagName="hibernate.column" paramName="name"/></XDtMethodEx:ifHasMethodTag></column></XDtMethodEx:ifHasMethodTag>
    <XDtMethodEx:ifHasMethodTag tagName="hibernate.version"><column>version</column></XDtMethodEx:ifHasMethodTag>
</XDtMethodEx:forAllMethods>
    <row>
        <XDtMethodEx:forAllMethods>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.id">
        <value>1</value>
        </XDtMethodEx:ifHasMethodTag>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.property">
        <value><XDtMethodEx:randomValueForDbUnit/></value>
        </XDtMethodEx:ifHasMethodTag>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.column">
        <value><XDtMethodEx:randomValueForDbUnit/></value>
        </XDtMethodEx:ifHasMethodTag>

        <XDtMethodEx:ifHasMethodTag tagName="hibernate.version">
        <value>1</value>
        </XDtMethodEx:ifHasMethodTag>
        </XDtMethodEx:forAllMethods>
    </row>
    <row>
        <XDtMethodEx:forAllMethods>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.id">
        <value>2</value>
        </XDtMethodEx:ifHasMethodTag>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.property">
        <value><XDtMethodEx:randomValueForDbUnit/></value>
        </XDtMethodEx:ifHasMethodTag>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.column">
        <value><XDtMethodEx:randomValueForDbUnit/></value>
        </XDtMethodEx:ifHasMethodTag>

        <XDtMethodEx:ifHasMethodTag tagName="hibernate.version">
        <value>1</value>
        </XDtMethodEx:ifHasMethodTag>
        </XDtMethodEx:forAllMethods>
    </row>
    <row>
        <XDtMethodEx:forAllMethods>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.id">
        <value>3</value>
        </XDtMethodEx:ifHasMethodTag>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.property">
        <value><XDtMethodEx:randomValueForDbUnit/></value>
        </XDtMethodEx:ifHasMethodTag>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.column">
        <value><XDtMethodEx:randomValueForDbUnit/></value>
        </XDtMethodEx:ifHasMethodTag>

        <XDtMethodEx:ifHasMethodTag tagName="hibernate.version">
        <value>1</value>
        </XDtMethodEx:ifHasMethodTag>
        </XDtMethodEx:forAllMethods>
    </row>
  </table>
</XDtClass:ifHasClassTag>
<XDtClass:ifHasClassTag tagName="hibernate.joined-subclass" paramName="table" superclasses="false">
  <table name='<XDtClass:classTagValue tagName="hibernate.joined-subclass" paramName="table"/>'>
    <column><XDtClass:classTagValue tagName="hibernate.joined-subclass-key" paramName="column"/></column>
<XDtMethodEx:forAllMethods>
    <XDtMethodEx:ifHasMethodTag tagName="hibernate.property"><column><XDtMethodEx:ifHasMethodTag tagName="hibernate.property" paramName="column"><XDtMethodEx:methodTagValue tagName="hibernate.property" paramName="column"/></XDtMethodEx:ifHasMethodTag><XDtMethodEx:ifDoesntHaveMethodTag tagName="hibernate.property" paramName="column"><XDtMethodEx:propertyName/></XDtMethodEx:ifDoesntHaveMethodTag></column></XDtMethodEx:ifHasMethodTag>
    <XDtMethodEx:ifHasMethodTag tagName="hibernate.column"><column><XDtMethodEx:ifHasMethodTag tagName="hibernate.column" paramName="name"><XDtMethodEx:methodTagValue tagName="hibernate.column" paramName="name"/></XDtMethodEx:ifHasMethodTag></column></XDtMethodEx:ifHasMethodTag>
    <XDtMethodEx:ifHasMethodTag tagName="hibernate.version"><column>version</column></XDtMethodEx:ifHasMethodTag>
</XDtMethodEx:forAllMethods>
    <row>
        <value>1</value>
        <XDtMethodEx:forAllMethods>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.property">
        <value><XDtMethodEx:randomValueForDbUnit/></value>
        </XDtMethodEx:ifHasMethodTag>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.column">
        <value><XDtMethodEx:randomValueForDbUnit/></value>
        </XDtMethodEx:ifHasMethodTag>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.version">
        <value>1</value>
        </XDtMethodEx:ifHasMethodTag>
        </XDtMethodEx:forAllMethods>
    </row>
    <row>
        <value>2</value>
        <XDtMethodEx:forAllMethods>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.property">
        <value><XDtMethodEx:randomValueForDbUnit/></value>
        </XDtMethodEx:ifHasMethodTag>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.column">
        <value><XDtMethodEx:randomValueForDbUnit/></value>
        </XDtMethodEx:ifHasMethodTag>

        <XDtMethodEx:ifHasMethodTag tagName="hibernate.version">
        <value>1</value>
        </XDtMethodEx:ifHasMethodTag>
        </XDtMethodEx:forAllMethods>
    </row>
    <row>
        <value>3</value>
        <XDtMethodEx:forAllMethods>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.property">
        <value><XDtMethodEx:randomValueForDbUnit/></value>
        </XDtMethodEx:ifHasMethodTag>
        <XDtMethodEx:ifHasMethodTag tagName="hibernate.column">
        <value><XDtMethodEx:randomValueForDbUnit/></value>
        </XDtMethodEx:ifHasMethodTag>

        <XDtMethodEx:ifHasMethodTag tagName="hibernate.version">
        <value>1</value>
        </XDtMethodEx:ifHasMethodTag>
        </XDtMethodEx:forAllMethods>
    </row>
  </table>
</XDtClass:ifHasClassTag>

</XDtClass:forAllClasses>
  <!--<XDtMethodEx:className/>-END-->
</dataset>

大家也可以修改其它的模板文件,生成自已需要的文件



分享到:
评论

相关推荐

    模板生成工具.模仿 appfuse 的 xdt 模板.

    【标题】:“模板生成工具”指的是使用特定技术或框架创建代码模板的软件工具,它可以模仿类似AppFuse的XDT模板。AppFuse是一个开源项目,它提供了快速开发Web应用的基础架构,而XDT(XML Document Transform)是...

    appfuse学习笔记(一)安装部署

    替换 `&lt;选择的模板&gt;` 为下载的模板名称,如 `appfuse-basic`,`appfuse-minimal` 等,`&lt;对应版本&gt;` 是你下载的 AppFuse 版本号。 **4. 编译与运行** 进入新创建的项目目录,使用 Maven 编译并运行项目: ``` cd my...

    appfuse

    5. **视图层(View Layer)**:可以是JSP页面,使用Tiles或FreeMarker模板引擎渲染。 6. **安全(Security)**:AppFuse集成了Spring Security(以前称为Acegi),提供身份验证和授权功能。 7. **国际化...

    appfuse 学习笔记

    `-DgroupId` 和 `-DartifactId` 分别指定了项目的 groupId 和 artifactId,这些值可以按需修改。 **3. 加速 Maven 构建** 如果网络条件不佳,Maven 构建可能会非常慢,因为它需要从远程仓库下载大量依赖。为了...

    APPFUSE工具研究.doc

    总的来说,AppFuse通过提供预配置的模板和集成的开发工具,降低了开发复杂性,使得开发者可以更加专注于业务逻辑,而不是基础架构的搭建。这对于快速启动新项目或学习现代Java Web开发技术是非常有价值的。

    AppFuse

    文档和教程最早于2003年11月发布,自那以后,AppFuse不断更新和完善,成为了java.net网站上最受欢迎的项目之一。 #### 三、功能特点 AppFuse提供了许多有用的功能,帮助开发者快速搭建和测试应用程序: 1. **容器...

    MAVEN 搭建APPFUSE

    通常,AppFuse提供了不同框架的模板,根据你的需求选择合适的模板。 步骤3:创建新项目。使用Maven的archetype插件,我们可以快速生成一个基于AppFuse的新项目。在命令行中运行以下命令: ``` mvn archetype:...

    appfuse默认的css模版

    在AppFuse中,这些框架通过外部引用的方式被整合到项目中,这意味着开发者可以在不修改核心代码的情况下,通过更改配置文件来切换不同的CSS框架。 "对项目的页面布局自动构建"指的是AppFuse能够自动生成基本的HTML...

    AppFuse项目研究

    这种方式允许开发者在不修改原有代码的情况下,只需更改配置就能切换不同的实现,实现了松耦合。 AppFuse 这样的框架为开发者提供了便捷的起点,它简化了集成多种技术的复杂性,使得开发者能够快速搭建一个具备基础...

    基于AppFuse框架的B2C电子商务系统研究与实现

    然后,利用AppFuse的模板工程生成基本的项目结构,包括模型(Model)、视图(View)和控制器(Controller)文件。接着,根据业务逻辑,编写对应的Java代码,配置相关的XML文件,实现各模块的功能。 对于用户管理,...

    Appfuse开发教程

    XDoclet还可以生成Struts的Action和JSP页面的骨架,为开发者提供一个基本的模板,以便快速开发用户界面。 3. **创建测试PersonAction的PersonActionTest** 创建一个JUnit测试类PersonActionTest,测试Struts ...

    玩转appfuse--使用appfuse建设MVC网站

    1. **快速原型**:AppFuse提供了一个基础的模板,开发者只需根据需求修改即可,大大缩短了项目的初始化阶段。 2. **标准化**:AppFuse遵循最佳实践,如Maven构建系统,使得项目的结构和配置文件保持一致,便于团队...

    appfuse1.4-architecture

    06年时的appfuse,学习SSH架构的经典入门框架。相对比较老的资料,可以欣赏一下当时的架构,向牛人致敬

    AppFuse2.1所需包

    AppFuse 是一个开源项目,旨在简化Java Web应用程序的开发。它提供了一个基础架构,开发者可以在此基础上快速构建安全、可扩展的应用程序。AppFuse 2.1 版本是该项目的一个较早版本,但仍然包含了现代Web开发的核心...

    可直接使用的appfuse项目

    AppFuse是一个集成了众多当前最流行开源框架与工具(包括Hibernate、ibatis、Struts、Spring、DBUnit、Maven、Log4J、Struts Menu、Xdoclet、SiteMesh、OSCache、JUnit、JSTL等(现在还有lucene的,无敌了))于一身的...

    使用 AppFuse 快速构建 J2EE 应用

    1. **选择模板**:根据你的项目需求,从 AppFuse 提供的多种模板中挑选适合的类型。 2. **生成项目**:使用 Maven 的 archetype:generate 命令,输入相应的 archetype 编号,生成项目结构。 3. **配置项目**:...

    建立项目原型骨架的步骤(最新版本appfuse)appfuse2.1.0-M2

    AppFuse 是一个开源项目,它提供了快速开发Java Web应用程序的基础框架。这个框架集成了Spring、Hibernate和Struts等主流技术,使得开发者能够迅速构建出符合MVC架构的应用。在最新的版本2.1.0-M2中,AppFuse 提供了...

Global site tag (gtag.js) - Google Analytics