Mysql 如何使用Talend RestFul服务将数据发布到多个表中

Mysql 如何使用Talend RestFul服务将数据发布到多个表中,mysql,rest,talend,Mysql,Rest,Talend,我有三张桌子,分别是PATIENT、PHONE和PATIENT\u PHONE 患者表包含以下列:id、firstname、lastname、email和dob 电话表包含以下列:id、类型和号码 PATIENT_PHONE表包含以下列:PATIENT_id、PHONE_id 患者和电话表由患者电话表映射。因此,我必须加入这3个表,将firstname、lastname、email和number字段发布到数据库中 我试着这样做: 第一个xmlmap的模式 [ 患者和患者电话的模式映射 [我假设

我有三张桌子,分别是PATIENT、PHONE和PATIENT\u PHONE

  • 患者表包含以下列:id、firstname、lastname、email和dob
  • 电话表包含以下列:id、类型和号码
  • PATIENT_PHONE表包含以下列:PATIENT_id、PHONE_id
  • 患者和电话表由患者电话表映射。因此,我必须加入这3个表,将firstname、lastname、email和number字段发布到数据库中

    我试着这样做:

    第一个xmlmap的模式 [

    患者和患者电话的模式映射
    [

    我假设您希望为针对web服务的每个请求将相同的数据写入同一数据库实例中的多个数据库表

    使用tHashOutput和tHashInput组件如何

    如果在组件托盘中看不到tHash*组件,请转到: 文件>编辑项目属性>设计器>托盘设置

    高亮显示过滤的组件,单击箭头将其移出过滤器,然后单击“确定”

    tHash组件允许您将一些数据推送到内存中,以便稍后将其读回。请注意,这些数据将写入易失性内存(RAM),一旦JVM退出,这些数据将丢失

    确保未选中tHashOutput组件中的“append”,并且tHashInput组件设置为在读取后不清除缓存

    您可以在我的示例中看到一些简单的错误处理,这些错误处理保证客户机将始终从服务中获得某种响应,即使在处理请求时出现问题

    还要注意,向数据库表写入数据是一个全有或全无事务,也就是说,只有在处理请求时没有错误时,服务才会向所有指定的表写入数据

    希望这能让您充分了解如何将此类功能扩展到自己的实现中


    什么部分不起作用?您能详细说明您的问题/错误吗?我发布了一张有效的表。TRestRequest-->TMysqlOutput-->TxmlMap-->TRestResponse其工作正常。现在我想将数据发布到多个表中。我不知道如何发布到多个表中。谢谢您的回答。但我正在这样做患者注册。我需要将患者字段发布到患者表,将地址字段发布到地址表。但患者和地址表都由患者地址表映射。它包含患者id和地址id。因此,我必须加入这3个表以将数据发布到患者和地址表。您是否可以更新您的信息r问题:请举例说明正在发布的REST有效负载以及要写入的每个表的模式?如果没有这些信息,很难准确地想象出您的意思(但请确保在发布之前去掉任何敏感信息!)