Grails - внешние контроллеры баз данных и домены

Я новичок в Grails. Я использую свою внешнюю базу данных mysql. Должен ли я создавать классы предметной области Grails для таблиц в моей базе данных (копировать мою базу данных в модель предметной области), или я могу создавать контроллеры и представления только для моих внешних таблиц mysql, не создавая классы предметной области?

Спасибо за ответы.

Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
0
133
3

Ответы 3

Нет, вы эффективно имитируете таблицы базы данных в своих доменах.

Фактически, если вы сначала создадите свои домены, они автоматически построят ваши таблицы; многие люди находят это более простым способом, как если бы у вас есть уже существующая база данных, вы должны ИДЕАЛЬНО согласовать ограничения, чтобы заставить ее работать.

Не требуется, чтобы вы использовали GORM с Grails. Фактически вы можете просто использовать классы и тому подобное из пакета groovy.sql и напрямую взаимодействовать с вашей базой данных, используя SQL и GroovyRowResult вместо классов предметной области.

Однако, если вы не используете GORM, вы также теряете много строительных лесов (например, для создания контроллеров и представлений), потому что у вас нет смоделированного домена.

Лучше объявить свой домен в классе, который может быть связан с базой данных.

класс домена пользователя

class User {

    Long id
    String name

    static mapping = {
        table 'user'  //here user is database table name

        version false
        id column: 'id', generator: 'increment'
        name column: 'name'
    }

    static constraints = {
        id(nullable: true)
        name(nullable: false)
    }
}

вы можете использовать строительные леса в контроллере для создания CRUD, а также

class UserController {

    static scaffold = User
    def index() {
        def userList = User.list()
        [userList: userList]
    }
}

Без объявления вашего класса домена вы получите ошибку при выполнении запроса из базы данных в контроллере.

Другие вопросы по теме