【问题标题】:Grails and hsqldbGrails 和 hsqldb
【发布时间】:2011-12-19 02:35:06
【问题描述】:

我想知道如何将数据持久化到 hsqldb。例如,我试图将一个简单的名称保存到数据库中,但我似乎不知道如何持久化它。

【问题讨论】:

    标签: grails groovy hsqldb


    【解决方案1】:

    推荐的方法是创建一个具有字符串名称属性的域类。然后你可以保存它,你就完成了。首先,创建领域类:

    $ grails create-domain-class com.foo.Person
    

    然后编辑 grails-app/domain/com/foo/Person.groovy:

    package com.foo
    
    class Person {
       String name
    }
    

    在控制器操作或服务方法中,您可以创建、保存和检索数据:

    def heMan = new Person(name: 'He Man')
    if ( !heMan.save() ) {
       // Handle problems saving (e.g. constraint violations)
    }
    
    def h = Person.findByName('He Man')
    println h.name
    

    另一种方法是直接使用 JDBC。您可以将 dataSource bean 自动注入到您的控制器中,然后使用 groovy.sql.Sql 类来查询该数据源。 Check out this stackoverflow.com question.

    【讨论】:

    • 非常感谢。另外我还有另一个问题,比如说我想将我的一个 gsp 页面中的字段中的数据保存到 hsql 数据库中的相应位置。你对我应该如何尝试这个有什么建议吗?
    【解决方案2】:

    两种方式:

    • GORM
    • 原始 JDBC(通过 spring 的 JdbcTemplate

    【讨论】:

    • 没那么难,有点融入到框架中——只要你使用 Grails 模型,很简单,不是吗?
    • 嗯,这对我和你来说都是微不足道的,但对于初学者来说可能不是这样。相比之下,我觉得它比 JDBC 的东西“更难”,因为它增加了 ORM 的概念,你可能不熟悉
    • 但是为什么还要使用 grails 呢?
    • 我认为如果您使用 Grails,那么使用 Grails 方式会更容易,因为您实际上不必任何事情,而您做什么 需要做的是记录在案。跳出框架会增加一层复杂性。 OTOH,如果 Grails-y 中断,那么不了解底层框架是一个严重的责任。
    • 跳出框架让我很头疼:) 但是使用 JdbcTemplate 并不是这样的事情。但我会颠倒项目符号的顺序,我同意 gorm 是重中之重。
    【解决方案3】:

    我建议从一个好的 Grails tutorial such as this one at IBMone of these 开始。学习使用 GORM。它会让你的生活更美好。

    【讨论】:

      猜你喜欢
      • 2012-07-04
      • 2011-04-10
      • 2011-05-06
      • 2013-05-01
      • 1970-01-01
      • 2011-01-31
      • 1970-01-01
      • 2014-09-14
      • 2012-01-28
      相关资源
      最近更新 更多