Atitit 数据融合merge功能v3新特性.docx

1.1. 版本历史 1

1.2. 生成sql结果 1

1.3. 使用范例 1

1.4. 核心代码 1

1.1. 版本历史

V2增加了replace部分。

V3 修改为 ON DUPLICATE KEY UPDATE,并实现多字段更新模式。

1.2. 生成sql结果

5715,insert into s_member(department_id,member_no,duties_id,duties_name,phone,name,department,unit_id,email,status)values('00026256','00608509','008','数控中心操作工','15874836489','姜海波','汽车吊吊臂车间','1100','未知','1') ON DUPLICATE KEY UPDATE duties_id=VALUES(duties_id),duties_name=VALUES(duties_name),department=VALUES(department),unit_id=VALUES(unit_id),email=VALUES(email)

1.3. 使用范例

/atiplat_restapi/src/com/attilax/user/UserSync4jonlye.java

// ,department=values(department)

String mergeUpdateExpress = Sqlbuilder1

.getMergeUpdateExpress("duties_id,duties_id,duties_name,department,unit_id,email,department_id,phone");

String sql = Sqlbuilder1.toMergeSql_hiPerf(m, "s_member", mergeUpdateExpress);

System.out.println(n + "," + sql);

1.4. 核心代码

/atiplat_restapi/src/com/attilax/sql/Sqlbuilder.java

public String getMergeUpdateExpress(String cols) {

String pre="ON DUPLICATE KEY UPDATE ";

String tmpl="@col@=VALUES(@col@)";

String[] col_arr=cols.trim().split(",");

int n=0;

for (String col : col_arr) {

n++;

if(n==1)

pre+=tmpl.replaceAll("@col@", col);

else

pre+=","+tmpl.replaceAll("@col@", col);

}

//,duties_id=VALUES(duties_id),duties_name=VALUES(duties_name),"

return pre;

}

public String toMergeSql_hiPerf(Map map, String table, String mergeExt) {

if(map.keySet().size()==0)

throw new RuntimeException("req_flted field is empty ");

MapfltedMap=fltMap_hiperf(map,table);

SqlKvUtil sqlKvUtil = new SqlKvUtil();

sqlKvUtil.prikey=prikey;

sqlKvUtil.ColumnsDefs=ColumnsDefs;

String[] a=sqlKvUtil.toInsertSqlKVPart(map);

String sql = "insert into @tab@(@cols@)values(@vals@) "+mergeExt;

sql = sql.replace("@tab@", table);

sql = sql.replace("@cols@", a[0]);

sql = sql.replace("@vals@", a[1]);

return sql;

}

作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher

捕鸟王"Bird Catcher  kok  虔诚者Pious 宗教信仰捍卫者 Defender Of the Faith. 卡拉卡拉红斗篷 Caracalla red cloak 万兽之王

简称:: Emir Attilax Akbar 埃米尔 阿提拉克斯 阿克巴

全名::Emir Attilax Akbar bin Mahmud bin  attila bin Solomon bin adam Al Rapanui 埃米尔 阿提拉克斯 阿克巴 本 马哈茂德 本 阿提拉 本 所罗门 本亚当  阿尔 拉帕努伊

常用名:艾提拉(艾龙),  EMAIL:1466519819@qq.com

头衔:uke总部o2o负责人,全球网格化项目创始人,

uke交友协会会长  uke捕猎协会会长 Emir Uke部落首席大酋长,

uke宗教与文化融合事务部部长, uke宗教改革委员会副主席

uke制度与重大会议委员会委员长,uke保安部首席大队长,uke制度检查委员会副会长,

uke 首席cto   软件部门总监 技术部副总监  研发部门总监主管  产品部副经理 项目部副经理   uke科技研究院院长uke软件培训大师

uke波利尼西亚区大区连锁负责人 汤加王国区域负责人 uke克尔格伦群岛区连锁负责人,莱恩群岛区连锁负责人,uke布维岛和南乔治亚和南桑威奇群岛大区连锁负责人

Uke软件标准化协会理事长理事长 Uke 数据库与存储标准化协会副会长

uke终身教育学校副校长   Uke医院 与医学院方面的创始人

uec学院校长, uecip图像处理机器视觉专业系主任   uke文档检索专业系主任

Uke图像处理与机器视觉学院首席院长

Uke 户外运动协会理事长  度假村首席大村长   uke出版社编辑总编

转载请注明来源:attilax的专栏  ?http://blog.csdn.net/attilax

--Atiend  v8

Atitit 数据融合merge功能v3新特性.docx相关推荐

  1. atitit.Oracle 9 10 11 12新特性attilax总结

    atitit.Oracle 9  10 11  12新特性 1. ORACLE 11G新特性 1 1.1. oracle11G新特性 1 1.2. 审计 1 1.3. 1.   审计简介 1 1.4. ...

  2. linux5.5内核,Linux 5.5内核发布下载,附新功能及新特性介绍

    Linux Kernel 5.5内核已经正式发布了,提供linux-5.5.tar.xz下载,它具有许多更改和值得改进的地方,该内核版本也将在2020年晚些时候作为Ubuntu HWE堆栈的一部分反向 ...

  3. oracle12c 清理归档,Oracle 12c中数据删除(delete)新特性之数据库内归档功能

    有些应用有"标记删除"的概念,即不是删除数据,而是数据依然保留在表中,只是对应用不可见而已.这种需求通常通过如下方法实现: 1)  给相关表增加一个另外的列,该列存储标志数据被删除 ...

  4. oracle12c spa,Oracle12c功能加强 新特性之管理功能的加强

    1.    数据文件在线重命名和迁移数据库 不想先前的版本,在Oracle12cR1中,数据文件的迁移或重命名再也不要求一系列的步骤,例如:将表空间至于只读模式,而后数据文件逻辑等操做.在12cR1中 ...

  5. Oracle12c功能增强 新特性之管理功能的增强

    1.    数据文件在线重命名和迁移 不想先前的版本号.在Oracle12cR1中,数据文件的迁移或重命名不再要求一系列的步骤,比如:将表空间至于仅仅读模式,然后数据文件逻辑等操作.在12cR1中.数 ...

  6. Java里time包的功能,java8新特性之time包总结

    Java8新特性java.time.*包学习. 自从 java 发布模式变更就发现自己有些跟不上他们的速度,java8还有不少没有用透而9.10.11相继出来,长江后浪推前浪一浪胜过一浪.之前date ...

  7. Java里time包的功能,java8新特性教程之time包使用总结

    前言 java8新特性java.time.*包学习. 自从java发布模式变更就发现自己有些跟不上他们的速度,java8还有不少没有用透而9.10.11相继出来,长江后浪推前浪一浪胜过一浪.之前dat ...

  8. 12c oracle 修改内存_Oracle12c中性能优化功能增强新特性之重大突破——内存列存储新特性...

    Oracle12c中内存列存储 内存列存储(IM column store) 是Oracle12.1.0.2版本的主要特点.该特点允许列,表,分区和物化视图在内存中以列格式存储,而不是通常的行格式.数 ...

  9. 超融合基础架构HCI新特性

    重复数据删除和压缩: 重复数据擦除支持REFS格式(原来仅支持NTFS),通过重擦和压缩,SDS可以获得高达10倍的空间使用,Windows Admin Center一键式启用,多线程处理体系结构最大 ...

  10. 12c oracle 修改内存_Oracle12c中性能优化amp;功能增强新特性之重大突破——内存列存储新特性...

    内存列存储(IM column store) 是Oracle12.1.0.2版本的主要特点.该特点允许列,表,分区和物化视图在内存中以列格式存储,而不是通常的行格式.数据存在内存中的好处显而易见,而列 ...

最新文章

  1. Example017简单的下拉框
  2. cocos2d-x的A*寻路
  3. 幻灯片的其他操作(批量生成,重用,版式重设)
  4. struts实战--实现条件查询(利用dbutils)
  5. 【转】HashMap和HashSet的区别
  6. python创建变量_Python每天一分钟:给类对象动态新增/删除成员变量和方法(函数)...
  7. python人工智能——机器学习——分类算法-朴素贝叶斯算法对新闻进行分类案例
  8. Kafka冷门知识——主题删除背后的秘密
  9. 能测试快充真假的软件,苹果iOS 12可自行测试真假快充:山寨充电器将被洗牌
  10. 如何快速开发一个支持高效、高并发的分布式ID生成器(二)
  11. c++ idea 插件_IDEA的基本使用:让你的IDEA有飞一般的感觉
  12. Java集合---概述(1)
  13. 网友在各自领域中所用到的芯片总结(转载)
  14. python实现泊松分布_Python实现概率分布(二项分布、伯努利分布、泊松分布、几何分布、正态分布等)...
  15. 新能源车企凶猛下沉,“新车商”会是一条捷径吗?
  16. docker-compose 启动微服务项目时,nacos容器一直无限重启Restarting (1) Less than a second ago
  17. 计算机音乐文爱图片,CG/贺敬轩《文爱》[FLAC/MP3-320K]
  18. 南安第五小学计算机老师,赞!南安市第五小学预计年底完工!
  19. 使用O2OA二次开发搭建企业办公平台(十三)流程开发篇:报销审批流程表单开发
  20. python制作qq登录界面_Python制作一个仿QQ办公版的图形登录界面

热门文章

  1. malloc 初始化_C++核心准则NR.5:不要使用两阶段初始化
  2. java算法-递归算法思想
  3. Python-2 eval函数
  4. Java String startsWith()方法
  5. linux 查看所有存在的线程
  6. HDU 2531 (BFS搜索)
  7. Obj-C的hello,world 1
  8. OpenCV下的图片旋转(转)
  9. 使用MEMCACHED的思考
  10. 在VMware环境下U盘的挂载与共享