加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Groovy:如何访问已在DataSource中设置的值

发布时间:2020-12-14 16:30:03 所属栏目:大数据 来源:网络整理
导读:我有一个groovy应用程序,它使用Oracle DB作为DataSource. 在DataSource.groovy我设置: dataSource {pooled = truedriverClassName = "oracle.jdbc.driver.OracleDriver"username = "scott"password = "tiger//loggingSql = true} 出于某些性能原因,我在以下
我有一个groovy应用程序,它使用Oracle DB作为DataSource.

在DataSource.groovy我设置:

dataSource {
pooled = true
driverClassName = "oracle.jdbc.driver.OracleDriver"
username = "scott"
password = "tiger
//loggingSql = true
}

出于某些性能原因,我在以下方式使用sql访问数据库:

def sql = Sql.newInstance("jdbc:oracle:thin:@localhost:1521:XE","scott","tiger","oracle.jdbc.driver.OracleDriver")

也就是说,用户名和密码在应用程序中硬连线两次.
我的问题是,是否可以在我的应用程序中解决已在DataSource.groovy中设置的属性用户名和密码.

提前致谢,

路易斯

解决方法

解决方案是添加一些导入

import javax.sql.DataSource
import groovy.sql.Sql
import org.codehaus.groovy.grails.commons.ConfigurationHolder

和以下代码:

def _url      = ConfigurationHolder.config.dataSource.url
def _username = ConfigurationHolder.config.dataSource.username
def _password = ConfigurationHolder.config.dataSource.password
def _driver   = ConfigurationHolder.config.dataSource.driverClassName
def sql = Sql.newInstance(_url,_username,_password,_driver)

def query = "<your SQL query>"
sql.eachRow(query){
    println "ID: " + it.id // Whatever you need
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读