2
在我的應用程序中,有一些地方我想使用純SQL。當我在Sql.newInstance中硬編碼連接細節時,它工作正常。出於顯而易見的原因,我寧願不要硬編碼連接細節。Grails中的SQL連接
當我使用dataSource變量時,它顯示爲空。我在控制器代碼:
import groovy.sql.Sql
def dataSource
def sql = Sql.newInstance(dataSource)
sql.executeInsert("insert into....")
我的數據源中的配置文件中的代碼是:
environments {
development {
dataSource {
dbCreate = "create-drop"
url = "jdbc:postgresql:mydev"
username = "xxx"
password = "xxx"
正如你可以看到我使用PostgreSQL。我也試過使用默認的grails數據庫,結果相同。
任何想法,將不勝感激。
嗨crudolf謝謝你的答案。它現在通過這個def dataSource行,但是當我設置def sql = new Sql(dataSource)時,我得到一個ClassNotFoundException異常。我也試過def sql = new groovy.sql.Sql(dataSource),但結果相同。有任何想法嗎?此致,Marius – marius 2012-03-27 09:14:24
嘗試在您的控制器的頂部執行'import groovy.sql.Sql'。理論上它應該工作。你使用的是Grails 1.3.7還是2.0.1?如果沒有幫助,請告訴我完整的例外原因。 – Chris 2012-03-27 11:11:14
我正在使用grails 2.0.1。目前我正在導入groovy.sql.Sql。我有一個想法,爲什麼它不工作,但不知道如何解決它,或者如果它甚至是問題。在我看來,我使用一個標籤來渲染一些複選框。在檢查/取消選中這些複選框時,我使用AJAX調用將一些參數傳遞給一個javascript函數,後者又調用控制器,在那裏我嘗試運行SQL查詢的自定義操作。在使用AJAX調用時,是否會丟失我的Grails對象? – marius 2012-03-27 21:39:51