`

Grails 对于多数据源的增删改查操作

 
阅读更多

Grails 对于多数据源的增删改查操作

 

多数据源配置成功后,需要在Domain的mapping这种指定要映射的数据库表,可选则映射到所有库,也可指定某一个数据库,方式如下:

 

假设:有两个数据源配置:dataSource和extraSource,相关配置参考:Grails 多数据源相关配置说明

 

Configuring Domain Classes

If a domain class has no DataSource configuration, it defaults to the standard 'dataSource'. Set the datasource property in the mapping block to configure a non-default DataSource. For example, if you want to use the ZipCode domain to use the 'lookup' DataSource, configure it like this:

class ZipCode {

   String code

   static mapping = {
      datasource 'lookup'
   }
}

A domain class can also use two or more data sources. Use the datasources property with a list of names to configure more than one, for example:

class ZipCode {

   String code

   static mapping = {
      datasources(['lookup', 'auditing'])
   }
}

If a domain class uses the default DataSource and one or more others, use the special name 'DEFAULT' to indicate the default DataSource:

class ZipCode {

   String code

   static mapping = {
      datasources(['lookup', 'DEFAULT'])
   }
}

If a domain class uses all configured data sources, use the special value 'ALL':

class ZipCode {

   String code

   static mapping = {
      datasource 'ALL'
   }
}

下面是例子,以两个数据库为例子:

 

Namespaces and GORM Methods

If a domain class uses more than one DataSource then you can use the namespace implied by each DataSource name to make GORM calls for a particular DataSource. For example, consider this class which uses two data sources:

class ZipCode {

   String code

   static mapping = {
      datasources(['lookup', 'auditing'])
   }
}

The first DataSource specified is the default when not using an explicit namespace, so in this case we default to 'lookup'. But you can call GORM methods on the 'auditing' DataSource with the DataSource name, for example:

def zipCode = ZipCode.auditing.get(42)
...
zipCode.auditing.save()

 

 

control和service中获取数据源的方式:

 

1.DataSource dataSource 获取默认数据源

 

2. DataSource dataSource_lookup 获取其他数据源

 

获取数据源之后可直接对数据库进行增删改查操作:

classTestService{
def dataSource_gibmsSource
def insertTest(){
Sql sql =newSql(dataSource_gibmsSource)
def gibmsSql ="insert into test_gibms(code) values ('000')"
def result = sql.executeInsert(gibmsSql)
sql.close()
}
}

 

 

参考文档:http://yongfengsun.blog.163.com/blog/static/792553852016217112851842/

 

 

 

 

分享到:
评论

相关推荐

    grails增删改查(初学者必备)

    对于初学者来说,掌握Grails的增删改查操作是学习Web开发的基础。在这个项目中,你将使用IntelliJ IDEA 11作为集成开发环境,结合MySQL数据库进行实践。 1. **安装与配置** - **安装Grails**:首先需要下载并安装...

    groovy脚本实现对数据库的增删改查

    在IT行业中,Groovy常被用于快速开发、脚本编写以及自动化任务,尤其在处理数据库操作时,其简洁的语法使得数据库的增删改查(CRUD)变得更加高效。 在“groovy脚本实现对数据库的增删改查”这个主题中,我们将深入...

    grails 入门 大全

    - 使用 GORM(Grails Object Relational Mapping)进行数据访问,支持多种数据库,如 MySQL、PostgreSQL 等。 3. **Grails 创建项目** - 使用 `grails create-app` 命令创建一个新的 Grails 应用程序。 - 自动...

    grails框架数据查询

    综上所述,Grails的查询机制强大而灵活,通过GORM提供的各种工具,开发者可以轻松地处理数据操作,实现高效的数据查询。结合源码阅读和工具使用,能更好地理解和优化Grails中的数据查询性能。在实际项目中,理解并...

    Grails基础教程.pdf

    - **通过测试储存和获得用户**:演示如何使用GORM进行数据的增删改查操作。 - **用户参数的更新**:更新用户信息的实现方式。 - **删除用户**:实现用户信息的删除操作。 **5.3 验证:阻止危险进进出出** - **标准...

    grails脚手架2次优化

    在运行时,这些文件负责处理数据的增删改查操作。了解这一工作原理,有助于我们在优化时找准切入点。 二、优化脚手架生成的代码 1. **定制Controller**:默认的脚手架Controller可能无法满足所有需求。例如,你...

    Grails3配置单独的数据库properties.pdf

    本篇将详细介绍如何在Grails 3中配置单独的数据库properties,以便在开发过程中管理多个数据源,满足复杂的企业级需求。 首先,我们需要理解Grails中的数据源配置。默认情况下,Grails使用一个名为`dataSource`的主...

    Grails Grails Grails

    **Grails 框架详解** Grails 是一个基于 Groovy 语言的开源Web应用程序框架,它构建在Java平台之上,旨在简化开发过程并提高生产力。Grails 的设计深受Ruby on Rails的影响,提供了MVC(模型-视图-控制器)架构模式...

    grails中文入门简介

    例如,数据源的配置既可以在环境配置中直接设置,也可以通过JNDI数据源来管理。此外,还可以配置自动数据库移植功能,它会在应用启动时根据域类(domain class)结构自动创建数据库表。 Grails的命令行工具非常强大...

    grails 中文第二版

    - 支持多数据源配置,适用于复杂的应用场景。 **外部配置** - 支持从外部文件读取配置信息,增强灵活性。 **版本** - Grails版本信息可以在项目的`BuildConfig.groovy`文件中找到。 **文档引擎** - 提供了文档...

    Grails案例

    本案例"Grails案例"旨在展示如何利用Grails实现基本的增删查改(Create, Read, Update, Delete,简称CRUD)功能,这对于任何数据库驱动的应用来说都是核心需求。 1. **Grails简介** - Groovy语言:Grails是基于...

    grails快速开发web

    - **自动配置**:Grails 自动处理很多配置细节,如数据源、日志管理等,减少了配置文件的数量和复杂度。 - **集成 Hibernate**:Grails 内置对 Hibernate 的支持,简化了数据库操作。 - **脚手架支持**:提供了一套...

    一步一步学grails(4)

    在Grails应用中,可以通过领域对象的集合属性方便地进行增删改查操作,无需直接操作SQL。 在实现M:M关系时,由于其复杂性,通常会创建一个额外的关联表来存储两个实体的连接信息。这个关联表有自己的领域类,如`...

    grails 1.0 英文操作手册

    **数据源配置**:详细介绍了如何配置数据源,包括JNDI数据源和自动数据库迁移策略,确保应用的数据访问层稳定可靠。 **外部化配置**:允许将部分配置信息存储在外部文件中,便于维护和更新。 **版本控制**:强调了...

    Grails权威指南 Grails权威指南

    3. **GORM(Grails Object-Relational Mapping)**:Grails的内置ORM工具,允许开发者以声明式的方式操作数据库,支持SQL的CRUD操作,简化了数据持久化的过程。GORM支持多种数据库,如MySQL、PostgreSQL等。 4. **...

    grails-用户手册

    总结来说,《Grails用户手册》涵盖了从项目创建到部署运行的全过程,包括Grails的基础概念、MVC架构、持久化、插件系统、视图技术、URL映射、测试策略等多个方面。通过学习和实践,开发者可以充分利用Grails的强大...

    Grails入门指南 -- 针对grails1.0.4更新

    - **自定义数据表**:扩展Grails默认的数据表结构,满足复杂业务需求。 - **遗留数据处理**:在已有数据表基础上进行Grails应用开发的方法。 - **ORM问题解决**:针对对象关系映射中遇到的问题提出解决方案。 - ...

Global site tag (gtag.js) - Google Analytics