2012-09-27 52 views
0

在我尋找一種方法來處理玩租框架和postgresql模式的多租戶,我發現這篇文章 Here
問題是,我無法弄清楚我可以在遊戲中執行普通的sql語句的方式(我完全是noob),任何人都可以幫忙嗎?玩框架和postgresql多模式

回答

1

在遊戲中,您可以使用DB對象來幫助您獲取原始jdbc對象。如果您的查詢是不帶參數的簡單更新,你可以做

DB.execute(simpleUpdate) 

如果您的查詢是不帶參數的簡單選擇,你可以做

DB.executeQuery(simpleSelect) 

,如果你有更復雜的東西,用的參數,你可以然後使用PreparedStatement直接獲取連接

PreparedStatement deleteStmt = DB.getConnection().prepareStatement(myStatement); 
try { 
    deleteStmt.setString(1, myString); 
    deleteStmt.executeUpdate(); 
} finally { 
    deleteStmt.close(); 
} 
+0

感謝的人,非常感謝 – mosid

0

我們使用模式分割Postgres數據庫。這是我們提出的解決方案。我們在application.conf中添加了多個數據庫連接,並初始化了與自定義SQL的連接。

# application.conf 
db.default.driver=org.postgresql.Driver 
db.default.url="jdbc:postgresql://localhost/mytest" 
db.default.user=your_user 
db.default.password=passwd 
db.default.initSQL="SET timezone = 'UTC';" 

db.tp0.driver=org.postgresql.Driver 
db.tp0.url="jdbc:postgresql://localhost/mytest" 
db.tp0.user=your_user 
db.tp0.password=passwd 
db.tp0.initSQL="SET search_path TO tp0, public;SET timezone = 'UTC';" 

Java代碼

EbeanServer tp0 = Ebean.getServer("tp0"); 
List<moneylog> res = tp0.find(moneylog.class).findList();