超敏捷Java开发框架ServiceFramework
Order order = Order.create(params());if(order.save()){ render(ok())}else{ render(HTTP_403,"参数错误");}?
Ebean.find(Order.class) .fetch("details") .setMaxRows(100) .where().eq("status",Order.Status.NEW) .order().desc("id") .findList(); ?
List<Order> orders = Order.where("status=:status",map("status",Order.Status.NEW)) .joins("details") .limit(100) .order("id desc") .fetch();? ?
@Entity class Order extends Model { public static JPQL status_new(){ return where("status=:status",map("status",Order.Status.NEW)); } } List<Order> orders = Order.status_new() .joins("details") .limit(100) .order("id desc") .fetch();
???
?
非常简单直观,天然以sql关键字区分,没有任何学习成本,都是按程序员最直观的方式进行。
其实不仅仅是Model层,controller层的设计也极尽简化。我们也对过滤器(拦截器)做了重新实现,这不同于一般的如Struts2的实现。同时我们还提出了一个理念,在Controller层应该提供一个函数库,就像PHP那样。当然,我们现在只是提供一些比较实用的函数。但是以后会慢慢添加。
此外还有一些小特点,譬如
- 一站式,不需要你整合各个框架
- 随时clone随时使用,十分钟wiki之后便能着手开发。
- 你不用考虑项目结构
- 你不用考虑如何分层
- 你不需要考虑配置文件。我们提供一个统一的配置对象供你使用
- 我们尽量使用一些最佳实践来组织项目。比如使用IOC做基础。这意味着,你大部分类都会自动被容器所管理。
最后,欢迎Rails开发者回归Java。^-^
1 楼 char1st 2012-08-15 net.csdn.jpa.type.DBInfo 在mysql 获取的数据库表名和列名有大小写的问题的 ,导致用ctClass.getSimpleName()得到字符串和dbinfo中的表名和列名不一致 。 2 楼 allwefantasy 2012-08-15 char1st 写道net.csdn.jpa.type.DBInfo 在mysql 获取的数据库表名和列名有大小写的问题的 ,导致用ctClass.getSimpleName()得到字符串和dbinfo中的表名和列名不一致 。
allwefantasy@gmail.com 这是我的邮箱,能不能发一个你debug后的截图给我。另外说下你的mysql数据库版本.非常感谢您提出了问题。 3 楼 allwefantasy 2012-08-15 char1st 写道net.csdn.jpa.type.DBInfo 在mysql 获取的数据库表名和列名有大小写的问题的 ,导致用ctClass.getSimpleName()得到字符串和dbinfo中的表名和列名不一致 。
你应该是windows下的Mysql数据库 对吗? 那可能会遇到这个问题。 4 楼 char1st 2012-08-15 allwefantasy 写道char1st 写道net.csdn.jpa.type.DBInfo 在mysql 获取的数据库表名和列名有大小写的问题的 ,导致用ctClass.getSimpleName()得到字符串和dbinfo中的表名和列名不一致 。
你应该是windows下的Mysql数据库 对吗? 那可能会遇到这个问题。
是的 ctClass.getSimpleName().toLowerCase() 就暂时不会有问题了。 5 楼 mistbow 2012-08-19 可不可以建一个Q~Q~群 来一起学习学习这个框架呀:) 6 楼 dingbuoyi 2012-08-20 慢慢等这个框架完善。。。 7 楼 chinasofthz 前天 下了你的项目看了下 说的好像有view层 但是项目中没有,前台怎么传数据呢 是一个java工程?好像也不用发布到服务器什么的 8 楼 char1st 昨天 chinasofthz 写道下了你的项目看了下 说的好像有view层 但是项目中没有,前台怎么传数据呢 是一个java工程?好像也不用发布到服务器什么的
你可以了解下full-stack这个概念。