我是Groovy的新手,我有一個簡單的類「public static void main」,它通過sql.execute和sql.call語句使用groovy.sql.sql執行SQL,如下所示:進口。我還導入了一個服務,用於檢查Oracle數據庫中現有應用程序中的安全設置。它也執行SQL語句。我的問題是,人們通常如何完成SQL連接?你是否打開每個類的連接,即每個類中的單獨的SQL連接?或者你可以將你的SQL連接信息傳遞給那個類並以某種方式使用相同的連接?現在我有兩個單獨的連接工作,但我不確定這是否是一個很好的方法來完成這一點。Groovy及其類中的Oracle SQL連接
如果上述內容沒有完整意義(因爲我是新手),下面是我的代碼示例。在我的主類我打開並調用SQL這樣的:
//DB connection
def conn = new DbConnectService()
def sql = Sql.newInstance(conn.url, conn.username, conn.password, conn.driver)
然後我想,像這樣的安全檢查類的調用來檢查安全設置:
// Security check
def sec = new CheckSecurityService()
sec.SecurityCheck(ProgramName)
安全檢查後,打開完全相同的數據庫連接如上,做了一些SQL調用是這樣的:
try
{
sql.call '{call G$_SECURITY.G$_VERIFY_PASSWORD1_PRD(?, ?, ?, ?)}', [$p_object, p_version, sql.VARCHAR, Sql.VARCHAR], { p_pass, p_rol ->
p_password = p_pass
p_role = p_rol
}
然後如果成功我回到我的主類,做更多的SQL語句,如:
sql.execute("insert into test (key1, text) values (${foo}, ${text1})")
有關人們通常如何做到這一點的任何信息,謝謝!
沒人?似乎這應該比我做的更容易,但經過多次搜索後我找不到答案。 – tnichol