nosql和rdnms_用于SaaS和NoSQL的Jdbi

nosql和rdnms

一个自然的接口,用于与CRM,ERP,会计,营销自动化,NoSQL,平面文件等基于Java的数据集成

Jdbi是用于JavaSQL便利库,它为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数据的简单编程访问。 以下代码逐步构建了一个基本的数据访问对象(DAO),以读取和写入Salesforce数据。

为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的连接

收集必要的连接属性并构建用于连接到Salesforce的适当的JDBC URL,该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驱动程序集成来轻松生成用于SalesforceSQL 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

nosql和rdnms

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值