用于SaaS和NoSQL的Jdbi
一個自然的接口,用于與CRM,ERP,會計,營銷自動化,NoSQL,平面文件等基于Java的數據集成
Jdbi是Java的SQL便利庫,它為JDBC提供更自然的Java數據庫接口,該接口易于綁定到域數據類型。 該庫包含構建基塊,使開發人員可以更輕松地映射應用程序內的關系和對象。
通常,Java開發人員會考慮使用Jdbi處理關系數據庫。 但是,已經出現了新的JDBC驅動程序,可以通過各種SaaS,NoSQL和大數據存儲提供實時數據連接,從而將Jdbi的適用性擴展到新一代項目。
以CData Software( www.cdata.com/jdbc/ )中的JDBC驅動程序為例 。 CData提供了純Java JDBC驅動程序,可以實時訪問應用程序源,例如Salesforce,NetSuite,Eloqua,Marketo,Dynamics,Hubspot以及其他100多個。 它們甚至提供與NoSQL數據源的SQL連接,例如MongoDB,Couchbase,Redis,Athena,BigQuery等。
利用這些驅動程序,Java開發人員可以輕松地將實時數據連接集成到他們的應用程序中。 本文的其余部分簡要概述了如何使用用于Salesforce的CData JDBC驅動程序在Jdbi中為Salesforce數據創建SQL Object API。
Jdbi訪問Salesforce
Jdbi公開了兩種不同的樣式API:流利的樣式和SQL對象樣式。 用于Salesforce的CData JDBC驅動程序將連接性集成到Java應用程序中的實時Salesforce數據。 通過將這些技術配對,您可以獲得對Salesforce數據的簡單編程訪問。 以下代碼逐步構建了用于讀寫Salesforce數據的基本數據訪問對象(DAO)。
為Salesforce客戶實體創建DAO
下面的接口為SQL對象聲明了所需的行為,以便為每個要實施的SQL語句創建一個方法。
// JavaScript source code public interface MyAccountDAO {//insert new data into Salesforce @SqlUpdate("INSERT INTO Account (Name, AnnualRevenue) values (:name, :annualRevenue)")void insert(@Bind("name") String name, @Bind("annualRevenue") String annualRevenue);//request specific data from Salesforce (String type is used for simplicity) @SqlQuery("SELECT AnnualRevenue FROM Account WHERE Name = :name")String findAnnualRevenueByName(@Bind("name") String name);/** close with no args is used to close the connection*/void close(); }打開與Salesforce的連接
收集必要的連接屬性,并構建適當的JDBC URL以連接到Salesforce,該URL通常如下所示:
jdbc:salesforce:User=username;Password=password;SecurityToken=Your_Security_Token;有多種身份驗證方法可用于連接到Salesforce:
- 登錄
- OAuth
- 單點登錄
登錄方法要求您具有用戶名,密碼和安全令牌。 如果您無權訪問用戶名和密碼,或者不想使用它們,則可以使用OAuth身份驗證。
可以通過設置SSOProperties,SSOLoginUrl和TokenUrl連接屬性來使用SSO(單點登錄),這些屬性允許您向身份提供者進行身份驗證。 有關更多信息,請參見幫助文檔中的“入門”一章。
使用配置的JDBC URL獲取DAO接口的實例。 下面顯示的特定方法將打開綁定到實例的句柄,因此需要顯式關閉實例以釋放該句柄和綁定的JDBC連接。
DBI dbi = new DBI("jdbc:salesforce:User=username;Password=password;SecurityToken=Your_Security_Token;"); MyAccountDAO dao = dbi.open(MyAccountDAO.class);//do stuff with the DAO dao.close();讀取Salesforce數據
打開對Salesforce的連接后,只需調用先前定義的方法即可從Salesforce中的Account實體檢索數據。
//display the result of our 'find' method String annualRevenue = dao.findAnnualRevenueByName("GenePoint"); System.out.println(annualRevenue);寫入Salesforce數據
使用先前定義的方法將數據寫入Salesforce也很簡單。
//add a new entry to the Account entity dao.insert(newName, newAnnualRevenue);由于Jdbi庫能夠使用JDBC連接,因此您可以通過與用于Salesforce的CData JDBC驅動程序集成來輕松生成用于Salesforce的SQL Object API。
就這么簡單
Jdbi提供了一個易于使用的數據界面,可以簡化數據連接的復雜性。 與CData的JDBC驅動程序配合使用時,Jdbi提供了一個干凈的對象接口,可以在您的下一個集成項目中使代碼減少10倍或更多,同時還增強了可維護性和重用性。
有關Jdbi的更多信息,可以在線找到: http ://jdbi.org/
從CData網站下載免費試用版Salesforce JDBC驅動程序(以及100多個其他JDBC驅動程序): https ://www.cdata.com/jdbc/
翻譯自: https://www.javacodegeeks.com/2018/04/jdbi-for-saas-nosql.html
總結
以上是生活随笔為你收集整理的用于SaaS和NoSQL的Jdbi的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 太皇太后是皇上的什么人(太皇太后和太上皇
- 下一篇: 淘特入驻条件及费用(淘特入驻条件及费用2
