netsuite 数据集成_Java中带有NetSuite数据实体的对象关系映射(ORM)

netsuite 数据集成

对象关系映射(ORM)技术使使用关系数据源更加容易,并且可以将逻辑业务模型与物理存储模型联系在一起。 遵循本教程,将NetSuite数据的连接集成到基于Java的ORM框架Hibernate中。

您可以使用Hibernate将面向对象的域模型映射到传统的关系数据库。 下面的教程显示了如何使用NetSuite的CData JDBC驱动程序通过Hibernate生成NetSuite存储库的ORM。

尽管Eclipse是本文的首选IDE,但是NetSuite的CData JDBC驱动程序可在任何支持Java运行时环境的产品中使用。 在知识库中,您将找到从IntelliJ IDEA和NetBeans连接到NetSuite数据的教程。

安装Hibernate

请按照以下步骤在Eclipse中安装Hibernate插件。

  1. 在Eclipse中,导航到“帮助”->“安装新软件”。
  2. 在“使用方式”框中输入“ http://download.jboss.org/jbosstools/neon/stable/updates/”。
  3. 在过滤器框中输入“Hibernate”。
  4. 选择Hibernate工具。
对象关系映射

开始一个新项目

请按照以下步骤在新项目中添加驱动程序JAR。

  1. 创建一个新项目。 选择Java Project作为您的项目类型,然后单击Next。 输入项目名称,然后单击完成。
  2. 右键单击项目,然后单击属性。 单击“ Java构建路径”,然后打开“库”选项卡。
  3. 单击“添加外部JAR”以添加cdata.jdbc.netsuite.jar库,该库位于安装目录的lib子文件夹中。

添加Hibernate配置文件

请按照以下步骤配置NetSuite数据的连接属性。

  1. 右键单击新项目,然后选择新建->Hibernate->Hibernate配置文件(cfg.xml)。
  2. 选择src作为父文件夹,然后单击“下一步”。
  3. 输入以下值:
    • Hibernate版本 :5.2
    • 数据库方言 :Derby
    • 驱动程序类 :cdata.jdbc.netsuite.NetSuiteDriver
    • 连接URL :一个JDBC URL,以jdbc:netsuite:开头 ,后跟以分号分隔的连接属性列表。“身份验证”部分下的“用户”和“密码”属性必须设置为有效的NetSuite用户凭据。 另外,必须将AccountId设置为可以由指定用户使用的公司帐户的ID。 可以选择指定RoleId以有限的权限登录用户。有关连接到NetSuite的更多信息,请参见帮助文档的“入门”一章。内置连接字符串设计器有关构造JDBC URL的帮助,请使用连接NetSuite JDBC驱动程序内置的字符串设计器。 双击JAR文件或从命令行执行jar文件。
java -jar cdata.jdbc.netsuite.jar

填写连接属性,然后将连接字符串复制到剪贴板。

对象关系映射

典型的JDBC URL如下:

jdbc:netsuite:Account Id=XABC123456;Password=password;User=user;Role Id=3;Version=2013_1;

将Hibernate连接到NetSuite数据

请按照以下步骤选择在上一步中创建的配置。

  1. 切换到“ Hibernate配置”透视图:窗口->打开透视图->Hibernate。
  2. 右键单击“Hibernate配置”面板,然后单击“添加配置”。
  3. 将Hibernate版本设置为5.2。
  4. 单击浏览按钮,然后选择项目。
  5. 对于“配置文件”字段,单击设置->使用现有文件,然后选择hibernate.cfg.xml文件的位置(在此演示中的src文件夹中)。
  6. 在“类路径”选项卡中,如果“用户条目”下没有任何内容,请单击“添加外部JARS”,然后再次添加驱动程序jar。 配置完成后,单击“确定”。
  7. 展开新创建的Hibernate配置文件的Database节点。
对象关系映射

逆向工程师NetSuite数据

请按照以下步骤生成reveng.xml配置文件。 您将要访问的表指定为对象。

  1. 切换回Package Explorer。
  2. 右键单击您的项目,选择新建-> Hibernate-> Hibernate反向工程文件(reveng.xml)。 点击下一步。
  3. 选择src作为父文件夹,然后单击“下一步”。
  4. 在“控制台配置”下拉菜单中,选择您在上面创建的Hibernate配置文件,然后单击“刷新”。
  5. 展开节点,然后选择要反向工程的表。 完成后,单击“完成”。
对象关系映射

配置Hibernate以运行

请按照以下步骤为NetSuite表生成普通的旧Java对象(PO​​JO)。

  1. 在菜单栏中,单击运行->Hibernate代码生成->Hibernate代码生成配置。
  2. 在“控制台配置”下拉菜单中,选择在上一节中创建的Hibernate配置文件。 单击按输出浏览目录,然后选择src。
  3. 从JDBC连接启用反向工程师复选框。 单击设置按钮,单击使用现有文件,然后选择hibernate.reveng.xml文件的位置(在此演示中的src文件夹中)。
  4. 在“导出器”选项卡中,选中“域代码(.java)”和“ Hibernate XML映射”(hbm.xml)。
  5. 单击运行。

根据上一步中的逆向工程设置创建一个或多个POJO。

插入映射标签

对于生成的每个映射,您将需要在hibernate.cfg.xml中创建一个映射标记,以将Hibernate指向您的映射资源。 打开hibernate.cfg.xml并按以下方式插入映射标记:

<hibernate-configuration>
<session-factory name="">
<property name="hibernate.connection.driver_class">
cdata.netsuite.NetSuiteDriver
</property>
<property name="hibernate.connection.url">
jdbc:netsuite:Account Id=XABC123456;Password=password;User=user;Role Id=3;Version=2013_1;<!--?xml version="1.0" encoding="UTF-8"?-->
</property>
<property name="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</property><mapping resource="SalesOrder.hbm.xml"></mapping>
</session-factory>
</hibernate-configuration>

执行SQL

现在,使用在上一步中创建的实体,您可以搜索和修改NetSuite数据:

import java.util.*;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;
import org.hibernate.query.Query;public class App {
public static void main(final String[] args) {
Session session =  new
Configuration().configure().buildSessionFactory().openSession();
String SELECT = "FROM SalesOrder S WHERE Class_Name = :Class_Name";
Query q = session.createQuery(SELECT, SalesOrder.class);
q.setParameter("Class_Name","Furniture : Office");
List<SalesOrder> resultList = (List<SalesOrder>) q.list();for(SalesOrder s: resultList){
System.out.println(s.getCustomerName());
System.out.println(s.getSalesOrderTotal());}}
}

准备开始了吗?

了解有关用于NetSuite的CData JDBC驱动程序的更多信息,或下载免费试用版:


翻译自: https://www.javacodegeeks.com/2019/06/object-mapping-netsuite-data-entities-java.html

netsuite 数据集成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/332230.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python内置装饰器property_python之内置装饰器(property/staticmethod/classmethod)

python内置了property、staticmethod、classmethod三个装饰器&#xff0c;有时候我们也会用到&#xff0c;这里简单说明下1、property作用&#xff1a;顾名思义把函数装饰成属性一般我们调用类方法成员&#xff0c;都是如下写法&#xff1a;class propertyTest():def __init__(…

关于bochs用X11启动的说明

关于网络上有很多关于 bochs启动时 连接到X Windows 报错&#xff1a; cannot connect to X display . 昨天搞了半天晚上 今天早上 直到现在 才搞懂。 主要的原因 是我使用了终端 比如 xshell or putty 去连接 centos &#xff0c;而以这种方式的连接 是只能够 传递字符&a…

在MyEclipse中访问MySql

Window 选项卡 选择 Open PerSpective 选择 MyEclipse Database Explorer&#xff0c;打开数据库视图 在 DB Browser 中单击右键&#xff0c;选择 New … 在 Database Driver 界面配置 a. Driver template: 连接的数据库模板 b. Driver name: 自定义的名字 c. Connection URL&a…

自动化测试框架 2019_2019年用于自动化的5个最佳Java测试框架

自动化测试框架 2019几十年来&#xff0c;Java一直是开发应用程序服务器端层的首选编程语言。 尽管JUnit一直在与开发人员一起帮助他们进行自动化的单元测试&#xff0c;但随着时间的推移和测试的发展&#xff0c;当自动化测试不断增长时&#xff0c;已经开发了许多基于Java的开…

X86汇编语言中的registers相关

0、写在前面 本文中总结于王爽老师的汇编语言&#xff0c;建议有兴趣的都买一本&#xff0c;以支持王爽老师的辛勤付出。再者&#xff0c;这本书写的确实很nice。 8086CPU共有14个registers&#xff1a;AX&#xff0c; BX&#xff0c; CX&#xff0c; DX&#xff0c; SI&#…

代码流程图生成器_【进阶Python】第五讲:迭代器与生成器

点击蓝字关注我迭代是Python中常用且非常强大的一个功能&#xff0c;它可以用于访问集合、列表、字符串、字典等数据结构的元素。我们经常使用循环和条件语句&#xff0c;我们也清楚哪些是可以迭代访问&#xff0c;但是具体它们之间有什么有什么异同之处&#xff1f;有哪些特点…

生成最简单的验证码图片的Java代码

后端代码&#xff1a; package priv.lwx.servlet.sl.web; /*** description** author liaowenxiong* date 2022/3/25 09:56*/import javax.imageio.ImageIO; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.…

cognito_将Amazon Cognito与单页面应用程序(Vue.js)集成

cognito在本文中&#xff0c;我们将研究使用OAuth协议通过Amazon Cognito对单页应用程序&#xff08;使用Vue.js构建&#xff09;进行身份验证。 在上一篇文章中&#xff0c;我们将服务器端应用程序与Amazon Cognito集成在一起。 搭建单页应用程序 我们将使用vue-cli创建一个空…

段描述符表(GDT+LDT)的有感

【0】写在前面 要知道&#xff0c;在汇编中&#xff0c;代码的装入顺序决定了在内存中的地址位置。所有的代码或者数据都在硬盘上&#xff0c;当调试或者启动的时候&#xff0c;加载到内存&#xff1b;当需要对数据进行处理的时候&#xff0c;我们通过将数据从内存载入到regis…

地理信息系统概论_地理信息系统概论黄杏元第3版配套练习题库——才聪学习网...

黄杏元《地理信息系统概论》(第3版)配套题库【考研真题精选&#xff0b;章节题库】一、选择题1完整的GIS主要由四个部分构成&#xff0c;即计算机硬件系统、计算机软件系统、(  )和系统管理操作人员。[杭州师范大学2018年研]A&#xff0e;网络B&#xff0e;用户C&#xff0e;…

PO/BO/VO/DTO/POJO/DAO/DO

文章目录DO&#xff08;Domain Object&#xff09;DO&#xff08;Data Object&#xff09;POVOBODTOPOJODAOJavaBeanEJBEntity应用程序的分层设计MVC业务分层阿里开发手册关于POJO类的命名规范总结参考文章DO&#xff08;Domain Object&#xff09; Domain Object&#xff0c;…

openshift_OpenShift Origin中的Kubernetes Spark运算符(第1部分)

openshift本系列有关Radanalytics.io的Kubernetes Spark运算符 OpenShift起源 。 它是一个开源的运营商来管理 Apache Spark集群和应用程序。 为了在OpenShift Origin上部署操作员&#xff0c;第一次需要为其克隆GitHub存储库&#xff1a; git clone https://github.com/rad…

小程序二级页面tabbar_小程序页面推广踩坑记

前几天&#xff0c;团队里有个小伙伴遇到一个问题&#xff0c;卡壳了大半天。我觉得这个例子值得拿出来分享给大家。希望大家以后遇到类似的问题能顺利绕过这种坑。业务场景很常见&#xff0c;就是为了配合小程序中特定页面的推广&#xff0c;区分推广渠道和人员&#xff0c;逐…

转移指令jmp和跳转指令call

【-1】写在前面 以下内容文字描述来自于 王爽老师的《汇编语言》教材&#xff0c;建议大家都买一本&#xff0c;哈哈。不是我打广告&#xff0c;确实人家写的好&#xff0c;应该支持。我只是附上了自己的图片和理解而已。 【0】先上干货 只修改ip&#xff0c;称为段内转移&a…

jmeter负载测试测试_使用Apache JMeter负载测试Web应用程序

jmeter负载测试测试Apache JMeter是用于模拟Web应用程序上的用户负载以测试性能的出色工具。 您可以通过指定用户数量和请求间隔来轻松地构建测试计划&#xff0c;然后JMeter将为每个用户生成一个线程并访问您的Web应用程序。 在测试结束时&#xff0c;您将获得一份性能摘要报告…

Windows下安装Nutch

Nutch安装 一、需求部份 a) Nutch是Java开发的所以需要下载Java JDK 下载地址http://java.sun.com/javase/downloads/index.jsp b) Nutch的演示搜索页面是Jsp的需要Tomcat做服务器 下载地址&#xff1a;http://jakarta.apache.org/tomcat/ c) Nutch的脚本都是用Linux的Shell写的…

python子进程关闭fd_gpg –passphrase-fd无法使用python 3子进程

以下脚本encrypt_me.py(modified from another post)使用gpg加密自身并以装甲形式打印出密文.但它只适用于python2.7但不适用于python3&#xff1f;你知道它在python3上运行时有什么问题吗&#xff1f;import subprocessimport shleximport osimport sysin_fd, out_fd os.pipe…

程序编码(机器级代码+汇编代码+C代码+反汇编)

【-1】相关声明 本文总结于csapp&#xff1b; 了解详情&#xff0c;或有兴趣&#xff0c;建议看原版书籍&#xff1b;【0】程序编码 GCC调用了一系列程序&#xff0c;将源代码转化成可执行代码的流程如下&#xff1a; &#xff08;1&#xff09;C预处理器扩展源代码&#xf…

angular1.2.27_Angular 8 + Spring Boot 2.2:立即构建一个CRUD应用程序!

angular1.2.27“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕&#xff1f; 尝试使用Okta API进行托管身份验证&#xff0c;授权和多因素身份验证。 如果您已经成为Java开发人员超过15年&#xff0c;那么您可能还记得何时…

ssm中怎么用location.href跳到controller层_聊聊自动驾驶中的功能开发

在知乎上看过不少大牛写的自动驾驶技术介绍文章&#xff0c;大多谈到的是AI, Deep Learning, Computer Vision等等感知(Perception)层面的。但在各个传感器(雷达、摄像头、激光雷达等)探测到目标信息及周围环境后&#xff0c;车辆该如何做出反应&#xff1f;自动驾驶的大脑该怎…