Генерация DAO с использованием Spring Roo - PullRequest
3 голосов
/ 23 февраля 2012

Я знаю, что Spring Roo может генерировать сущность и контроллер. Но мое требование состоит в том, чтобы генерировать DAO и уровень обслуживания или, по крайней мере, DAO. Есть ли способ генерировать Entity, Controller и DAO, используя spring-roo

Ответы [ 2 ]

6 голосов
/ 23 февраля 2012

Я думал, что не было никакого способа сделать DAO, но я исправляюсь.

В недавно выпущенном Roo 1.2 появилась концепция JPA Repositories и новый элемент Service, как описано в Spring blog .

2 голосов
/ 20 мая 2014

Например, у вас есть класс User с полями username, password, и вам необходимо создать слои абстракции

Entity -> Repository (DAO) -> Service

как

User-> UserRepository -> UserService

Естьв основном 2 способа работы - первый с репозиторием JPA и второй с репозиторием Mongo, кроме стиля ActiveRecord по умолчанию.Настройка с Mongo или JPA аналогична.Я объясняю команды для репозитория JPA здесь.

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) Создать новый интерфейс репозитория JPA с помощью команды repository jpa, что эквивалентно созданию нового интерфейса репозитория путем расширения класса данных JpaRepository данных.public interface UserRepository extends JpaRepository<User, Long> {/*Code*/}.Это обеспечивает все функции CRUD, и вам не нужно ничего добавлять.Вы можете добавить другие функции поиска.Интерфейс репозитория аналогичен интерфейсу DAO.DAO более тесно связан с персистентными сущностями, а репозиторий больше связан с объектами домена.

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

5) Теперь добавьте слой Service, где вы можете добавить всю бизнес-логику в свое приложение.Этот шаг создаст UserService интерфейс и UserServiceImpl классы

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

Настройка слоев завершена.Теперь вы можете создать веб-слой и выполнить свой код.

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