`
badqiu
  • 浏览: 670089 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

rapid-framework v3.9新版本发布

阅读更多

hi,all


    本次新版本发布最主要的更新内容是生成器的加强,并且之前已经发布了rapid-generator独立版.
此次升级保证模板的兼容性.后续rapid-framework的发行版将不直接提供rapid-generator的源码在项目中,以便以后大家编写的模板都可以在一个生成器引擎中运行. 还有现生成页面布局使用rapid的模板继承,目标是替换现在的sitemesh布局框架.

后续计划:
     本次发行版本是基于ant构建的最后一个版本,下一版本将迁移至maven构建,并且本次发行已经带了pom.xml文件在项目中,编写好了相关dependency,但只是一个空壳,没有实际作用.


v3.9更新内容:

脚手架相关修改

  • 使用rapid的jsp继承用于网页的布局
  • 集成hibernate validator
  • 引用Flash Scope,用于显示消息
  • 将extremetable替换为更简单的simpletable列表分页.
  • dao层查询代码修改,让用户选择是否需要使用xsqlbuilder
  • 加入SharedRenderVariableInterceptor?,用于存放所有视图需要的共享变量
  • 增加HttpInclude?功能,便freemarker,velocity可以完成jsp:include功能
  • PageRequest?现在使用强类型的TableNameQuery?
  • dbunit测试改进
  • flex插件更新至flex4(由随便混混贡献)
生成器相关修改
  • Generator包提供jar包,不直接在项目中使用源代码,以便提供一个统一的生成器引擎,大家编写的模板都可以在生成器上面运行.
  • table变量现在可以通过配置文件自定义配置,具体请查看rapid_generator
  • 增加table变量枚举的生成
  • 生成器配置文件 generator.properties 改名为 generator.xml
  • 生成的代码优化
感谢的人:
     随变混混同学,将flex3插件迁移至flex4,个人介绍: 学生,热衷于Java,flex领域的web开发,hhlai1990@gmail.com
     其它为rapid提交bug的同学

在线demo:

rapid-framework框架介绍

rapid-framework是一个以spring为核心的项目脚手架(或者称为胶水框架),框架将各个零散的框架(struts,strust2,springmvc,hibernate,ibatis,spring_jdbc,flex)搭建好,并内置一个代码生成器,辅助项目开发,可以生成java的hibernat model,dao,manager,struts+struts2 action类,可以生成jsp的增删改查及列表页面

框架概览

  • Dao: spring_jdbc, hibernate, ibatis2, ibatis3, 可以切换dao组件
  • Dao Helper: 基于dialect的分页(ibatis2, ibatis3, jdbc),动态sql构造工具rapid-xsqlbuilder
  • Web MVC: struts1, struts2, springmvc, springmvc_rest, 可以切换web组件
  • Template: (velocity, freemarker, jsp)的模板可以相互继承, velocity及freemarker可以实现模板之间的管道操作
  • 分页组件: extremeTable, rapid-simpletable
  • UI: rapid-validation表单验证, My97DatePicker?日期控件
  • 单元测试: spring test+DBunit
  • 底层支撑: 插件体系及代码生成器(rapid-generator)

 项目下载:
http://code.google.com/p/rapid-framework/downloads/list

 

项目HOME:
http://www.rapid-framework.org.cn/

 

文档:
http://code.google.com/p/rapid-framework/wiki/menu

分享到:
评论
38 楼 qq826928141 2017-10-10  
longxing898 写道
请教:
使用jtds连接sql 2005,无法读取字段和表的中文注释信息,columnalias只是英文的字段名

搞定了吗哥们
37 楼 qq826928141 2017-10-10  
美味人间 写道
大哥,这个代码生成器怎么无法获取表和列的备注信息啊,数据库是sqlserver 2005

搞定了吗哥们
36 楼 tangxininjava 2015-06-29  
576604498 写道
gbk编码怎么设啊,
<entry key="outputEncoding">GBK</entry>
这样设置还是不行啊,
还有我写模板了写了中文注释,乱码

我贴张以前的图片链接,你看下,具体我不清楚了 这么久了
http://pan.baidu.com/s/158udg 你下载看下。
35 楼 baichixiaozi 2015-01-29  
好长时间了,struts2的漏洞在这个项目里还是存在,请问下各位有解决的吗?升级后项目就跑不起来了
34 楼 a304407493 2014-11-17  
       很强大,不过项目HOME网址进不去了,文档和项目下载似乎需要FAN QIANG。希望楼主持续更新啊~~  
33 楼 fypop 2014-09-14  
时隔4年,rapid-framework和spring side对我的影响比较大,阅读过部分源码,收益匪浅。
在此向大神致敬,多谢。
32 楼 cpop 2014-04-11  
有maven用户的整个pom的配置文件吗,
我这边使用maven框架搭建,不知道是否包引用存在问题。
做单元测试时, 一直有这么个问题:
org.apache.ibatis.exceptions.PersistenceException:
### Error querying database.  Cause: org.apache.ibatis.builder.IncompleteElementException: Could not find SQL statement to include with refid 'TaobaoUserComment.columns'
### Cause: org.apache.ibatis.builder.IncompleteElementException: Could not find SQL statement to include with refid 'TaobaoUserComment.columns'
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:107)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:98)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:62)
at javacommon.base.BaseIbatis3Dao$SqlSessionTemplate$1.doInSession(BaseIbatis3Dao.java:157)
at javacommon.base.BaseIbatis3Dao$SqlSessionTemplate.execute(BaseIbatis3Dao.java:147)
at javacommon.base.BaseIbatis3Dao$SqlSessionTemplate.selectOne(BaseIbatis3Dao.java:155)
at javacommon.base.BaseIbatis3Dao.getById(BaseIbatis3Dao.java:47)
at javacommon.base.BaseManager.getById(BaseManager.java:22)
at $javacommon.base.BaseManager$$FastClassByCGLIB$$74a5b520.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:698)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:631)
at com.taoxiaosha.web.service.impl.TaobaoUserCommentManagerImpl$$EnhancerByCGLIB$$69699af4.getById(<generated>)
at com.taoxiaosha.web.service.TaobaoUserCommentManagerTest.crud(TaobaoUserCommentManagerTest.java:37)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:83)
at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:231)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:88)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.apache.ibatis.builder.IncompleteElementException: Could not find SQL statement to include with refid 'TaobaoUserComment.columns'
at org.apache.ibatis.builder.xml.XMLIncludeTransformer.findSqlFragment(XMLIncludeTransformer.java:64)
at org.apache.ibatis.builder.xml.XMLIncludeTransformer.applyIncludes(XMLIncludeTransformer.java:38)
at org.apache.ibatis.builder.xml.XMLIncludeTransformer.applyIncludes(XMLIncludeTransformer.java:51)
at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:83)
at org.apache.ibatis.session.Configuration.buildAllStatements(Configuration.java:698)
at org.apache.ibatis.session.Configuration.getMappedStatement(Configuration.java:629)
at org.apache.ibatis.session.Configuration.getMappedStatement(Configuration.java:624)
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:103)
... 47 more
Caused by: java.lang.IllegalArgumentException: XML fragments parsed from previous mappers does not contain value for TaobaoUserComment.columns
at org.apache.ibatis.session.Configuration$StrictMap.get(Configuration.java:791)
at org.apache.ibatis.builder.xml.XMLIncludeTransformer.findSqlFragment(XMLIncludeTransformer.java:60)
... 54 more

31 楼 luwanyi 2013-10-18  
您好,非常感谢你编写了这个代码生成框架!
请问现在还在更新这个生成框架吗,这个框架会支持hibernate4吗。
30 楼 tangxininjava 2013-02-21  
576604498 写道
tangxininjava 写道
不好意思 ,可以的,要编码格式设置要重新导一次才生效

这个是怎么操作的


上面有文档的 文档地址如下:

http://code.google.com/p/rapid-framework/wiki/menu
29 楼 576604498 2013-02-20  
tangxininjava 写道
不好意思 ,可以的,要编码格式设置要重新导一次才生效

这个是怎么操作的
28 楼 tangxininjava 2013-02-04  
不好意思 ,可以的,要编码格式设置要重新导一次才生效
27 楼 tangxininjava 2013-02-04  
为什么源码中文注释是乱码?
26 楼 美味人间 2012-10-19  
大哥,这个代码生成器怎么无法获取表和列的备注信息啊,数据库是sqlserver 2005
25 楼 fhtwins 2012-10-16  
我测出一个BUG,在做list分页查询的时候,在Action中设置的
//默认多列排序,example: username desc,createTime asc
protected static final String DEFAULT_SORT_COLUMNS = "email desc"; 是无效的,因为最终生成的SQL语句:如:
select
        users0_.uid as uid13_, users0_.deptCode as deptCode13_, users0_.email as email13_, users0_.name  as name13_, users0_.password as password13_, users0_.state as state13_, users0_.userName as  userName13_
    from
        users users0_
    where
        1=1
     order by 'email desc' limit 10

在order by后面多了一对单引号,导致order by 无效,正确的应该是没有单引号的.......

即:目前这个系统框架不支持分页查询下的按表字段排序!

还望有空看下。
24 楼 yllx95 2012-08-22  
用视图时没有主键,在${sqlName}.xml中怎么配置啊?我把自动生成的视图xml文件中的某列的pk设为true,放在模板中代替${sqlName}.xml,还是没有用?怎么做啊
23 楼 576604498 2012-05-28  
gbk编码怎么设啊,
<entry key="outputEncoding">GBK</entry>
这样设置还是不行啊,
还有我写模板了写了中文注释,乱码
22 楼 longxing898 2012-04-14  
请教:
使用jtds连接sql 2005,无法读取字段和表的中文注释信息,columnalias只是英文的字段名
21 楼 csyrooney 2012-03-22  
我的JSP页面的元素是在页面加载后动态生成的。
动态生成的元素无法校验。并报脚本错。是什么原因。
有没有方法。在动态生成元素的后面再加载框架的初始方法。
20 楼 it158 2012-03-14  
这么好的东西,为什么现在没有更新了???
19 楼 you 2011-03-23  
试了下struts2+hibernate,效果不错
两个问题请教:
以UserInfo为例,
1. 怎么做模糊搜索,比如name要求模糊搜索?

2. 搜索出结果后,修改其中一个,成功后跳到list.do,如果想跳回到搜索页面,怎么弄?

相关推荐

Global site tag (gtag.js) - Google Analytics