1、Impex是基于java Model的一种面向对象的数据操作手段,因此写impex代码前需要理清java Model之间的依赖关系。
2、基本语法:mode type[modifier=value];attribute[modifier=value];attribute[modifier=value];attribute[modifier=value][;...];attribute[modifier=value]
  • mode:提供四种操作insert、update、insert_update、remove等操作

    • Insert:在Hybris中创建一个item,Impex默认不检查是否存在相同属性的item
    • Update:在hybris中通过一个unique的属性,选择一个存在的item,将属性值设置到对应的值上
    • Insert_update:将insert和Update方式合并。
    • Remove:hybris会尝试寻找正确的item,如果一个item存在,它将被删除
  • type:定义处理的item类型,category,product,media等等
  • attribute:映射到对象的column属性
  • modifier 控制说明使用,来说明这个column的限制
    • alias 别名
    • allownull
    • cellDecorator
    • collection-delimiter
    • dateformat 时间格式化
    • default 默认值
    • forceWrite
    • ignoreKeyCase
    • ignorenull
    • key2value-delimiter 键值对
    • lang 定义语言,多语言。lang=en
    • map-delimiter
    • mode
    • numberformat
    • path-delimiter
    • pos
    • translator
    • unique 控制属性唯一 unque=true
    • virtual
3、Demo
insert User;uid[unique=true] Customer;sampleCustomer Employee;SampleEmployee
Customer 和 Employee是User的子类,以上表示增加两个对象
等价于
insert Customer;uid[unique=true] ;sampleCustomer
insert Employee;uid[unique=true] ;sampleEmployee
中间用空格隔开表示后面的依次为前面的赋值,不用空格隔开表示是对象的属性
----------------------------------------------------------------------------------------------------------------------------
insert product;code;unit(code);catalogVersion(catalog(id),version)
;testCode;pieces;clothescatalog:staged
catalogVersion(catalog(id),version)
id=clothescatalog,version=staged;
查询方式:先根据id=clothescatalog查出cataloglog对象,然后根据对象的pk和version等于staged查出catalogVersion对象的pk和version等于Staged查询出catalogVersion对象的PK
 
---------------------------------------------------------------------------------------------------------------------------
insert language;code;;active ;de;deutsch;true
;;表示跳过这一列,deutsch不会被增加
 
---------------------------------------------------------------------------------------------------------------------------
INSERT Product;code[unique=true];name[lang=en];name[lang=de]
;myProduct1;myProduct1's localized name;lokalisierter Name von myProduct1 
lang 来指定本地化,就是什么语言。
 
---------------------------------------------------------------------------------------------------------------------------
UPDATE Product;code[unique=true];name[lang=en]
;myProduct1;my product 1
这样修改是不会影响到其他语言的,只会影响到lang=en的
 
4、一对多关系插入
INSERT_UPDATE USER;uid[unique=true];userDescription
;1;1;
 
INSERT_UPDATE OUTLET;code[unique=true];name;outletDescription;product(uid[unique=true])
;12;12;12;1;
;2;2;2;1;
;3;3;3;1;
一对多的话,主要在多表中有一个字段来表示和一表关联,所以只要有一个一表的唯一键来确认对应到那条记录就可以了 product(uid[unique=true])
5、批量处理
REMOVE product[batchmode=true];name[unique=true,lang=zh]
;test
所有name等于test的产品全部删除

IMPEX的更多相关文章

  1. Hybris IMPEX.

    1.Impex是基于java Model的一种面向对象的数据操作手段,因此写impex代码前需要理清java Model之间的依赖关系.   2.基本语法:mode type[modifier=val ...

  2. impex 语法

    impex 语法 2016-01-14 16:23 588人阅读 评论(0) 收藏 举报  分类: hybris(8)  脱离java Model单纯的去看impex文件的代码是不能很好理解impex ...

  3. Hybris商品图片导入与压缩有关的配置

    1.   在电脑上安装 ImageMagick 软件(windows平台还需要安装VC++),下载路径:http://www.imagemagick.org/script/download.php#w ...

  4. Hybris安装和各个Extention简单介绍

    前言:突然想好好梳理一下这几个月所学的内容了,顺便让自己的知识有一个系统的框架. 一.  安装JDK 请安装最新的Oracle JDK 8.0版(从Oracle官网下载). 二.开发工具建议使用 In ...

  5. CronJobs

    一.概念     CronJobs提供了在特定的时间或者间隔内处理业务逻辑的方法.一般创建一个Cronjob有两种方式,第一种是定义Java类,由Hybris生成脚本并加入数据库.第二种是直接编写gr ...

  6. Hybris CronJob.

    一.概念     CronJobs提供了在特定的时间或者间隔内处理业务逻辑的方法.一般创建一个Cronjob有两种方式,第一种是定义Java类,由Hybris生成脚本并加入数据库.第二种是直接编写gr ...

  7. Conjob For hybris

    1.Defining the Job 写conjob的逻辑:core包下当做service层(要继承AbstractJobPerformable<CronJobModel>) public ...

  8. CRM, C4C和Hybris的工作流简介

    CRM的例子 Step by Step to debug IC inbox workflow WS14000164 C4C Custom recipient determination in work ...

  9. CRM WebClient UI和Hybris里工作中心跳转的url生成逻辑

    CRM WebClient UI 把Work center的navigation target在client side不可见:在Chrome development tool里看不到,而是点击了Wor ...

随机推荐

  1. 实现自己的.NET Core配置Provider之Yaml

    YAML是一种更适合人阅读的文件格式,很多大型的项目像Ruby on Rails都选择YAML作为配置文件的格式.如果项目的配置很少,用JSON或YAML没有多大差别.看看rails项目中的配置文件, ...

  2. [leetcode-611-Valid Triangle Number]

    Given an array consists of non-negative integers, your task is to count the number of triplets chose ...

  3. 【LeetCode】168. Excel Sheet Column Title

    题目: Given a positive integer, return its corresponding column title as appear in an Excel sheet. For ...

  4. Ionic Demo 解析

    Ionic Demo 解析 index.html 解析 1.引入所需要的类库 <link rel="manifest" href="manifest.json&qu ...

  5. jsp登陆页面验证码在火狐浏览器不能刷新问题处理方案

    jsp登陆页面在火狐浏览器验证码不能刷新问题处理方案: <img src="YzmServlet" onClick="this.src='YzmServlet?ti ...

  6. poj 2739 Sum of Consecutive Prime Numbers 小结

     Description Some positive integers can be represented by a sum of one or more consecutive prime num ...

  7. Hadoop生态系统图解

    Hadoop生态架构图 参考文章: Hadoop生态系统介绍 HDFS架构 1.NaneDode:主节点,**存储文件的元数据**如文件名,文件目录结构,文件属性(生成时间,副本数量,文件权限),以及 ...

  8. React 实践项目 (二)

    React在Github上已经有接近70000的 star 数了,是目前最热门的前端框架.而我学习React也有一段时间了,现在就开始用 React+Redux 进行实战! React 实践项目 (一 ...

  9. JAVA - 深入JAVA 虚拟机 2

    类的两种类型的类加载器 -Java虚拟机自带的加载器 根类加载器(Bootstrap): 使用C++编写,programer can not abtain this class. 扩展类加载器(Ext ...

  10. 【Mysql基本知识整理】

    一.简介 1.什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. 2.关系型数据库 ...