代码之家  ›  专栏  ›  技术社区  ›  Calvin Adiwinata

如何在grails中永久保存数据?

  •  0
  • Calvin Adiwinata  · 技术社区  · 6 年前

    package test
    
    class Test1 {
        String name
        int age
        String email
        String gender
    
        static constraints = {
            email email: true,blank: false
            gender inList:["Male","Female"]
        }
    
        static mapping = {
            table 'test1'
            version false
            id generator: 'increment'
            name column: 'name'
            age column: 'age'
            email column: 'email'
            gender column: 'gender'
        }
    }
    

    这是控制器

    package test
    
    class Test1Controller {
       static scaffold = Test1
    }
    

    这是在application.yml中,我使用了端口8090

    ---
    grails:
        profile: web
        codegen:
            defaultPackage: test
        gorm:
            reactor:
                # Whether to translate GORM events into Reactor events
                # Disabled by default for performance reasons
                events: false
    info:
        app:
            name: '@info.app.name@'
            version: '@info.app.version@'
            grailsVersion: '@info.app.grailsVersion@'
    spring:
        main:
            banner-mode: "off"
        groovy:
            template:
                check-template-location: false
    
    # Spring Actuator Endpoints are Disabled by Default
    endpoints:
        enabled: false
        jmx:
            enabled: true
    
    ---
    grails:
        mime:
            disable:
                accept:
                    header:
                        userAgents:
                            - Gecko
                            - WebKit
                            - Presto
                            - Trident
            types:
                all: '*/*'
                atom: application/atom+xml
                css: text/css
                csv: text/csv
                form: application/x-www-form-urlencoded
                html:
                  - text/html
                  - application/xhtml+xml
                js: text/javascript
                json:
                  - application/json
                  - text/json
                multipartForm: multipart/form-data
                pdf: application/pdf
                rss: application/rss+xml
                text: text/plain
                hal:
                  - application/hal+json
                  - application/hal+xml
                xml:
                  - text/xml
                  - application/xml
        urlmapping:
            cache:
                maxsize: 1000
        controllers:
            defaultScope: singleton
        converters:
            encoding: UTF-8
        views:
            default:
                codec: html
            gsp:
                encoding: UTF-8
                htmlcodec: xml
                codecs:
                    expression: html
                    scriptlets: html
                    taglib: none
                    staticparts: none
    endpoints:
        jmx:
            unique-names: true
    
    ---
    hibernate:
        cache:
            queries: false
            use_second_level_cache: true
            use_query_cache: false
    dataSource:
        pooled: true
        jmxExport: true
        driverClassName: org.postgresql.Driver
        dialect: org.hibernate.dialect.PostgreSQLDialect
        username: postgres
        password: 'admin'
    
    environments:
        development:
            dataSource:
                dbCreate: create-drop
                url: jdbc:postgresql://localhost:5432/test
        test:
            dataSource:
                dbCreate: update
                url: jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE
        production:
            dataSource:
                dbCreate: none
                url: jdbc:h2:./prodDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE
                properties:
                    jmxEnabled: true
                    initialSize: 5
                    maxActive: 50
                    minIdle: 5
                    maxIdle: 25
                    maxWait: 10000
                    maxAge: 600000
                    timeBetweenEvictionRunsMillis: 5000
                    minEvictableIdleTimeMillis: 60000
                    validationQuery: SELECT 1
                    validationQueryTimeout: 3
                    validationInterval: 15000
                    testOnBorrow: true
                    testWhileIdle: true
                    testOnReturn: false
                    jdbcInterceptors: ConnectionState
                    defaultTransactionIsolation: 2 # TRANSACTION_READ_COMMITTED
    
    
    server:
        port: 8090
    

    这是在build.gradle中,我已经为postgresql放置了jdbc

    buildscript {
        repositories {
            mavenLocal()
            maven { url "https://repo.grails.org/grails/core" }
        }
        dependencies {
            classpath "org.grails:grails-gradle-plugin:$grailsVersion"
            classpath "org.grails.plugins:hibernate5:${gormVersion-".RELEASE"}"
            classpath "com.bertramlabs.plugins:asset-pipeline-gradle:2.14.8"
    
        } }
    
    version "0.1" group "test"
    
    apply plugin:"eclipse" apply plugin:"idea" apply plugin:"war" apply plugin:"org.grails.grails-web" apply plugin:"asset-pipeline" apply plugin:"org.grails.grails-gsp"
    
    repositories {
        mavenLocal()
        maven { url "https://repo.grails.org/grails/core" } }
    
    dependencies {
        compile "org.springframework.boot:spring-boot-starter-logging"
        compile "org.springframework.boot:spring-boot-autoconfigure"
        compile "org.grails:grails-core"
        compile "org.springframework.boot:spring-boot-starter-actuator"
        compile "org.springframework.boot:spring-boot-starter-tomcat"
        compile "org.grails:grails-web-boot"
        compile "org.grails:grails-logging"
        compile "org.grails:grails-plugin-rest"
        compile "org.grails:grails-plugin-databinding"
        compile "org.grails:grails-plugin-i18n"
        compile "org.grails:grails-plugin-services"
        compile "org.grails:grails-plugin-url-mappings"
        compile "org.grails:grails-plugin-interceptors"
        compile "org.grails.plugins:cache"
        compile "org.grails.plugins:async"
        compile "org.grails.plugins:scaffolding"
        compile "org.grails.plugins:events"
        compile "org.grails.plugins:hibernate5"
        compile "org.hibernate:hibernate-core:5.1.5.Final"
        compile "org.grails.plugins:gsp"
        console "org.grails:grails-console"
        profile "org.grails.profiles:web"
        runtime "org.glassfish.web:el-impl:2.1.2-b03"
        runtime "com.h2database:h2"
        runtime "org.apache.tomcat:tomcat-jdbc"
        runtime "com.bertramlabs.plugins:asset-pipeline-grails:2.14.8"
        testCompile "org.grails:grails-gorm-testing-support"
        testCompile "org.grails:grails-web-testing-support"
        testCompile "org.grails.plugins:geb:1.1.2"
        testRuntime "org.seleniumhq.selenium:selenium-chrome-driver:2.47.1"
        testRuntime "org.seleniumhq.selenium:selenium-htmlunit-driver:2.47.1"
        testRuntime "net.sourceforge.htmlunit:htmlunit:2.18"
        runtime "org.postgresql:postgresql:9.3-1103-jdbc3" }
    
    bootRun {
        jvmArgs('-Dspring.output.ansi.enabled=always')
        addResources = true
        String springProfilesActive = 'spring.profiles.active'
        systemProperty springProfilesActive, System.getProperty(springProfilesActive) }
    
    tasks.withType(Test) {
        systemProperty "geb.env", System.getProperty('geb.env')
        systemProperty "geb.build.reportsDir", reporting.file("geb/integrationTest")
        systemProperty "webdriver.chrome.driver", System.getProperty('webdriver.chrome.driver')
        systemProperty "webdriver.gecko.driver", System.getProperty('webdriver.gecko.driver') }
    
    assets {
        minifyJs = true
        minifyCss = true }
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   virtualdogbert    6 年前

    我将查看application.yml或application.groovy中的db设置,并检查dbcreate的设置。以下是数据源设置的文档: https://docs.grails.org/latest/guide/conf.html#dataSource

    推荐文章