gpt4 book ai didi

grails - 无法连接 grails 项目中的数据源

转载 作者:行者123 更新时间:2023-12-02 15:03:37 25 4
gpt4 key购买 nike

我创建了一个 Grails 3.3.8项目。数据源(Oracle)配置在application.yml 中成功完成。文件。但是当我在我的 groovy 类中使​​用数据源时,我遇到了以下错误:

Caused by GroovyRuntimeException: Ambiguous method overloading for method groovy.sql.Sql#<init>.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[interface java.sql.Connection]
[interface javax.sql.DataSource]

我的代码是:
package DATABASE_CONF
import groovy.sql.Sql
/**
*
* @author CESC
*/
public class dbconn {

def dataSource

public String showname2() {

def sql = new Sql(dataSource)
def namestr = ""

sql.eachRow('select * from TEST_TB') {
tp ->
namestr = namestr + "<br>" + tp.NAME
}

sql.close()
return namestr
}
}

最佳答案

您的类(class)无法解决 dataSource属性,因此是一个空且模棱两可的方法重载异常。

原因可能是您的类(class)位于 src。文件夹并且不参与 bean(自动)接线。有几个选项可以处理这个问题:

  • 将您的类(class)放在/grails-app/services so it will get the 下dataSource` 自动注入(inject)(推荐)
  • 声明dataSource作为 showname2() 的参数方法并在每次调用时显式传递它。
  • 为您的类(class)添加布线机制。我不是 Spring 方面的专家,但我认为这是一个注释和一些配置调整。
  • 关于grails - 无法连接 grails 项目中的数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53320209/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com