Java在web应用方面,是否有如下的开发模式的可能(直接在Action写如下代码)?
1、User user = ActiveRecord.insert(User.class, "logonName=root;desc='value with blank chars';");
2、user.setDesc("some desc for the new user");
3、ActiveRecord.insert(user);
4、ActiveRecord.update(user);
5、ActiveRecord.delete(user);
6、ActiveRecord.get(user, "7777");//get by id
7、ActiveRecord.load(user, "8888");//load by id
8、ActiveRecord.load(User.class, "9999");//return a unique result
9、ActiveRecord.findEq(User.class, "logonName", "root");
10、ActiveRecord.findLe(User.class, "logonName","root");
11、ActiveRecord.find(User.class, "age>20 and age<22");// return list
12、ActiveRecord.get(User.class, "path='best_guy'");//return a unique result
13、ActiveRecord.find(User.class, "age>? and age<?", 2, 5);// return list
14、ActiveRecord.get(User.class, "path='best_guy'"); //return a unique result
15、String hql1 = "from User u inner join u.department d where d=?";
16、ActiveRecord.find(hql1, 1);// return list
17、String hql2 = "from User u inner join u.department d where d=? and u.role=?";
18、ActiveRecord.get(hql2, 1, "manager");//return a unique result
其中
0)、ActiveRecord由独立项目的其它公共组件项目提供
1)、ActiveRecord提供静态方法,ActiveRecord底层采用Hibernate API实现CRUD,支持JPA语义
2)、ActiveRecord通过某种方式自动寻获Spring Web AppContext下的Hibernate SessionFactory
3)、实体类使用jpa的annotation采用@Entity标注,以减少开发代码量(code=java,xml,...)
4)、ActiveRecord能够
自动识别从事先指定package,判断哪些类加注了@Entity。比如com.xxx.domain,并通知给Hibernate
5)、ActiveRecord在Web Action中被使用,
去掉Bo、Dao层,需要事务时,考虑直接把事务架到Action方法上
早先很多人习惯使用static的方法(函数)来编程,当时这种方法给人的感觉是“不专业”
但是现在反过来看看,
是否在很多应用上(特别是web应用方面),这样的方式方式是否更方便?
因为JPA/Hibernatge的承诺,领域逻辑就可以直接在Domain类完成了
(Domain类可以根据ref navigation、ActiveRecord 2种方式获取想要的对象)。
分享到:
相关推荐
活动记录::查看 集成 ActiveRecord 以方便在迁移中轻松使用视图。安装将此行添加到应用程序的 Gemfile 中: gem 'activerecord-view' 然后执行: $ bundle或者自己安装: $ gem install activerecord-view用法要在...
在Java世界里,虽然Hibernate和JPA等框架已经非常成熟,但Ruby on Rails(ROR)中的ActiveRecord模式也受到了不少Java开发者的青睐,并有了一些移植到Java平台的实现。 ActiveRecord是一种对象关系映射(ORM)模式...
Java的ActiveRecord框架是基于对象关系映射(ORM)的一种实现,它借鉴了Ruby on Rails中的ActiveRecord概念,使得在Java开发中可以更加方便地处理数据库操作。这个框架的主要目标是简化数据库操作,通过将数据库记录...
ActiveRecord::ConnectionAdapters::ConnectionManagement ActiveRecord::QueryCache ActionDispatch::Cookies ActionDispatch::Session::CookieStore ActionDispatch::Flash ActionDispatch::ParamsParser ...
ActiveRecord扩展名,用于帮助在单个insert语句中插入很多行。 安装 将其添加到您的Gemfile中: gem 'bulk_insert' 用法 BulkInsert向您的ActiveRecord模型添加了新的类方法: class Book < ActiveRecord :: ...
地穴守护者为ActiveRecord提供透明的加密。 它与加密无关。 您可以使用所需的任何加密算法来保护数据。 您需要做的是一个简单的类,它可以完成3件事。 采用哈希参数进行initialize 提供返回加密字符串的encrypt方法...
I18n ::后端:: ActiveRecord 该存储库包含I18n ActiveRecord后端和从提取的支持代码。... ActiveRecord::Migration def self.up create_table :translations do |t| t.string :locale t.string :key
WordPress ActiveRecord WordPress ActiveRecord 实现了可以轻松地检索、更新和删除数据库表的行,而无需费力处理原始 SQL 查询字符串。 这个库的目标是为 CMS WordPress 提供一个小而强大的 ,它应该很容易实现。 ...
什么是ActiveRecord的简要概述: 活动记录是一种访问数据库中数据的方法。 数据库表或视图被包装到一个类中,因此对象实例被绑定到表中的一行。 创建对象后,保存后会将新行添加到表中。 任何加载的对象都从数据库...
Castle.ActiveRecord官方已经停止更新了,官方最高支持到NHibernate 3.1.0.4000,这个版本还有不少问题(例如:[NH-2213] - CLONE -Wrong parameters order in IQuery with SetParameterList and Filter)。...
Simplified the first,last,take methods in ActiveRecord.So instead of using where and first, you can directly use first. 安装 将此行添加到您的应用程序的Gemfile中: gem 'lazy_find' 然后执行: $ ...
"Patron-ActiveRecord" 这个标题指的是一个项目或者库,它在JAVA中实现了Active Record持久性模式。Active Record是面向对象数据库映射(Object-Relational Mapping, ORM)的一种实现方式,它将数据库操作与业务对象...
ActiveRecord::Mysql::UuidColumn 向ActiveRecord MySQL2适配器添加一个:uuid列,该列存储在一个16字节的二进制列中。 这正是它需要的空间。安装将此行添加到您的应用程序的Gemfile中: gem 'activerecord-mysql-...
ActiveRecord :: Jwt 此ActiveRecord扩展添加了jwt(JSON Web Token)方法 安装 将此行添加到您的应用程序的Gemfile中: gem 'activerecord-jwt' 然后执行: $ bundle 或将其自己安装为: $ gem install ...
关系注解使用自定义数据注释 ActiveRecord 关系对象,允许关系的元数据可用于自定义代码。安装将此行添加到应用程序的 Gemfile 中: gem 'activerecord-relations_annotations' , '~> 0.0.1' 然后执行: $ bundle...
警告:此刻尚未维护,抱歉:(SexyScopes 无需SQL即可编写美观而富有表现力的ActiveRecord范围SexyScopes是一个宝石,它添加了语法糖来在Ruby中创建ActiveRecord范围,而不是SQL。 这样可以实现更具表现力,更不易...
Castle.ActiveRecord For .NET FrameWork 2.0 如果你想使用Castle.ActiveRecord,但又不想使用.NET Framework 3.0/3.5/4.0或更高版本,那么这个就是你所需要的,For .NET FrameWork 2.0,我整理了好久,自己从官方...
为提供数据存储,由 ActiveRecord 支持。 需要使用 Dragonfly 1.0+ 的 Rails 应用程序。 经 MRI 1.9.3、2.0、2.1 测试; ActiveRecord 3.2 和 4.0; 和 MySQL、PostgreSQL 和 SQLite 存储。 用例 如果您的应用...
在创建一个ActiveRecord模型时,通常会定义一个继承自`ActiveRecord::Base`的类。例如,如果我们有一个`users`表,我们可以创建一个`User`类: ```ruby class User < ActiveRecord::Base end ``` 这个简单的定义就...
RGeo :: ActiveRecord是一个可选的模块,它为ActiveRecord提供空间扩展,以及一组用于基于RGeo编写空间ActiveRecord适配器的帮助程序。 概括 RGeo是使用Ruby编程语言编写位置感知应用程序的关键组件。 其核心是行业...