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的增删改查操作是学习Web开发的基础。在这个项目中,你将使用IntelliJ IDEA 11作为集成开发环境,结合MySQL数据库进行实践。 1. **安装与配置** - **安装Grails**:首先需要下载并安装...
在IT行业中,Groovy常被用于快速开发、脚本编写以及自动化任务,尤其在处理数据库操作时,其简洁的语法使得数据库的增删改查(CRUD)变得更加高效。 在“groovy脚本实现对数据库的增删改查”这个主题中,我们将深入...
- 使用 GORM(Grails Object Relational Mapping)进行数据访问,支持多种数据库,如 MySQL、PostgreSQL 等。 3. **Grails 创建项目** - 使用 `grails create-app` 命令创建一个新的 Grails 应用程序。 - 自动...
综上所述,Grails的查询机制强大而灵活,通过GORM提供的各种工具,开发者可以轻松地处理数据操作,实现高效的数据查询。结合源码阅读和工具使用,能更好地理解和优化Grails中的数据查询性能。在实际项目中,理解并...
- **通过测试储存和获得用户**:演示如何使用GORM进行数据的增删改查操作。 - **用户参数的更新**:更新用户信息的实现方式。 - **删除用户**:实现用户信息的删除操作。 **5.3 验证:阻止危险进进出出** - **标准...
在运行时,这些文件负责处理数据的增删改查操作。了解这一工作原理,有助于我们在优化时找准切入点。 二、优化脚手架生成的代码 1. **定制Controller**:默认的脚手架Controller可能无法满足所有需求。例如,你...
本篇将详细介绍如何在Grails 3中配置单独的数据库properties,以便在开发过程中管理多个数据源,满足复杂的企业级需求。 首先,我们需要理解Grails中的数据源配置。默认情况下,Grails使用一个名为`dataSource`的主...
**Grails 框架详解** Grails 是一个基于 Groovy 语言的开源Web应用程序框架,它构建在Java平台之上,旨在简化开发过程并提高生产力。Grails 的设计深受Ruby on Rails的影响,提供了MVC(模型-视图-控制器)架构模式...
例如,数据源的配置既可以在环境配置中直接设置,也可以通过JNDI数据源来管理。此外,还可以配置自动数据库移植功能,它会在应用启动时根据域类(domain class)结构自动创建数据库表。 Grails的命令行工具非常强大...
- 支持多数据源配置,适用于复杂的应用场景。 **外部配置** - 支持从外部文件读取配置信息,增强灵活性。 **版本** - Grails版本信息可以在项目的`BuildConfig.groovy`文件中找到。 **文档引擎** - 提供了文档...
本案例"Grails案例"旨在展示如何利用Grails实现基本的增删查改(Create, Read, Update, Delete,简称CRUD)功能,这对于任何数据库驱动的应用来说都是核心需求。 1. **Grails简介** - Groovy语言:Grails是基于...
- **自动配置**:Grails 自动处理很多配置细节,如数据源、日志管理等,减少了配置文件的数量和复杂度。 - **集成 Hibernate**:Grails 内置对 Hibernate 的支持,简化了数据库操作。 - **脚手架支持**:提供了一套...
在Grails应用中,可以通过领域对象的集合属性方便地进行增删改查操作,无需直接操作SQL。 在实现M:M关系时,由于其复杂性,通常会创建一个额外的关联表来存储两个实体的连接信息。这个关联表有自己的领域类,如`...
**数据源配置**:详细介绍了如何配置数据源,包括JNDI数据源和自动数据库迁移策略,确保应用的数据访问层稳定可靠。 **外部化配置**:允许将部分配置信息存储在外部文件中,便于维护和更新。 **版本控制**:强调了...
3. **GORM(Grails Object-Relational Mapping)**:Grails的内置ORM工具,允许开发者以声明式的方式操作数据库,支持SQL的CRUD操作,简化了数据持久化的过程。GORM支持多种数据库,如MySQL、PostgreSQL等。 4. **...
总结来说,《Grails用户手册》涵盖了从项目创建到部署运行的全过程,包括Grails的基础概念、MVC架构、持久化、插件系统、视图技术、URL映射、测试策略等多个方面。通过学习和实践,开发者可以充分利用Grails的强大...
- **自定义数据表**:扩展Grails默认的数据表结构,满足复杂业务需求。 - **遗留数据处理**:在已有数据表基础上进行Grails应用开发的方法。 - **ORM问题解决**:针对对象关系映射中遇到的问题提出解决方案。 - ...