使用spring roo生成DAO

时间:2012-02-23 05:59:44

标签: spring-roo

我知道spring roo可以生成实体和controller.But我的要求是生成DAO和Service层或至少DAO。有没有办法使用spring-roo生成实体,控制器和DAO

2 个答案:

答案 0 :(得分:6)

我认为没有办法制作DAO,但我有所纠正。

在最近发布的Roo 1.2中,现在有JPA Repositories的概念和Spring blog中详述的新服务元素。

答案 1 :(得分:2)

例如,您有一个User类,其中包含字段usernamepassword,您需要创建抽象层

Entity -> Repository (DAO) -> Service

作为

User-> UserRepository -> UserService

除了默认的ActiveRecord样式之外,基本上有两种处理方式 - 第一种使用JPA Repository,第二种使用Mongo Repository。使用Mongo或JPA设置是类似的。我在这里解释JPA Repository的命令。

1)执行设置命令

jpa setup --provider HIBERNATE --database HYPERSONIC_PERSISTENT

2)将新的用户实体设置默认activeRecord定义为false(重要)

entity --class ~.domain.User --activeRecord false

3)定义此用户实体的字段

field string --fieldName userName --notNull --sizeMin 3 --class ~.domain.User
field string --fieldName password --notNull --sizeMin 3 --class ~.domain.User

4)使用repository jpa命令创建一个新的JPA存储库接口,这相当于通过扩展spring数据JpaRepository类public interface UserRepository extends JpaRepository<User, Long> {/*Code*/}来创建新的存储库接口。这提供了所有CRUD功能,您不需要添加任何内容。您可以添加其他搜索功能。存储库接口类似于DAO接口。 DAO与持久性实体紧密耦合,而Repository与域对象更相关。

repository jpa --interface ~.repository.UserRepository --entity ~.domain.User

5)现在添加Service层,您可以在其中添加所有业务逻辑到您的应用程序。此步骤将创建UserService接口和UserServiceImpl

service --interface ~.service.UserService --entity ~.domain.User

分层设置完成。您现在可以创建Web图层并执行代码。

web mvc setup
web mvc all --package ~.web