1.打开grails-app -->conf -->application.yml
dataSources:
dataSource:
pooled: true
jmxExport: true
driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
username: '002'
password: '200'
XXXX
:
pooled: true
driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
username: '002'
password: '200'
environments
:
development
:
dataSources:
dataSource:
dbCreate: update
url: jdbc:sqlserver://XXX.XXX.XX.XX:1433;DatabaseName=EQMS01
XXXX
:
dbCreate: update
url: jdbc:sqlserver://XXX.XXX.XX.XX:1433;DatabaseName=EQMS01
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
2.production 中与development一样配置
3.在controller中的使用
3.1Grails artefact中注入数据源
DataSource dataSource_lookup
例如:
def dataSource(默认)
def dataSource_
XXXX
(XXXX与配置文件中一一对应)
Sql sql = new Sql(dataSource);
Sql sql
=
new
Sql(dataSource_XXXX);
4.domain Classes中配置不同的数据源
指定数据源
static mapping = { datasource 'lookup' }
使用datasources
具有名称列表的属性来配置多个属性
static mapping = {
datasources(['lookup', 'auditing'])
}
使用特殊名称'DEFAULT'
来表示默认值DataSource
static mapping = {
datasources([ 'lookup' , 'DEFAULT' ])
}
如果域类使用所有配置的数据源,请使用特殊值'ALL'
static mapping = {
datasource 'ALL'
}5.调用GORM方法例如备注:目前只能在对应domain controller中使用 ZipCode.auditing.get( 42 )方法,还需要继续研究def zipCode = ZipCode.auditing.get(42) zipCode.auditing.save()