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://www.cnblogs.com/attilax/

--Atiend  v8

Atitit 数据融合merge功能v3新特性.docx的更多相关文章

  1. atitit.atiOrm.js v2 q61 版本新特性.docx

    atitit.atiOrm.js v2 q61 版本新特性.docx 1. V1新特性如下1 1.1. V2规划,直接生成sql在js端1 2. Orm设计框架图1 2.1. atiOrm.js的原理 ...

  2. atitit.TokenService v3 qb1  token服务模块的设计 新特性.docx

    atitit.TokenService v3 qb1  token服务模块的设计 新特性.docx 1.1. V3 新特性1 1.2. V2 新特性1 2. Token的归类1 3. Token的用途 ...

  3. atitit.Servlet2.5 Servlet 3.0 新特性 jsp2.0 jsp2.1 jsp2.2新特性

    atitit.Servlet2.5 Servlet 3.0 新特性 jsp2.0 jsp2.1 jsp2.2新特性   1.1. Servlet和JSP规范版本对应关系:1 1.2. Servlet2 ...

  4. 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. ...

  5. Atitit.http连接合并组件   ConnReducerV3 新特性

    Atitit.http连接合并组件   ConnReducerV3 新特性 D:\0workspace\AtiPlatf_cms\src\com\attilax\util\ConnReducerV2. ...

  6. Atitit  DbServiceV4qb9 数据库查询类库v4 新特性

    Atitit  DbServiceV4qb9 数据库查询类库v4 新特性     V4新特性 安全特性,屏蔽了executeUpdate,使用v2版 Sql异常转换,特别转换了DuplicateEnt ...

  7. Oracle12c中数据删除(delete)新特性之数据库内归档功能

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

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

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

  9. Oracle12c功能增强新特性之维护&升级&恢复&数据泵等

    1.   内容提要 1)   表分区维护的增强. 2)   数据库升级改善. 3)   跨网络还原/恢复数据文件. 4)   数据泵的增强. 5)   实时ADDM. 6)   并发统计信息收集. 2 ...

随机推荐

  1. Android 之 tools:context和tools:ignore两个属性的作用

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools= ...

  2. RelativeLayout的16种特有属性

    *相对于兄弟控件的位置属性 android:layout_above="@id/center_btn"处于某一个控件的上方 android:layout_below="@ ...

  3. pandas学习(创建数据,基本操作)

    pandas学习(一) Pandas基本数据结构 Series类型数据 Dataframe类型 基本操作 Pandas基本数据结构 两种常用数据结构: Series 一维数组,与Numpy中的一维ar ...

  4. 利用zabbix监控oracle数据库

    一.概述 zabbix是一款非常强大,同时也是应用最为广泛的开源监控软件,本文将给大家介绍如何利用zabbix监控oracle数据库. 二.环境介绍 以下是我安装的环境,实际部署时并不需要跟我的环境一 ...

  5. Mysql学习(一)添加一个新的用户并用golang操作Mysql

    Mysql添加一个新的用户并赋予权限 添加一个自己的用户到mysql 首先我们需要先用root用户登录mysql,但是刚安装完没有密码,我们先跳过密码 ailumiyana@ailumiyana:~/ ...

  6. jquery 简单的别踩白块小游戏

    写写简单的东西,效果如图: 1.html代码 <div class="warp"> <div class="title"> <h3 ...

  7. Ubuntu crontab 定时 python 详细

    Ubuntu系统,定时执行python脚本. 目的:每分钟执行一次timer_test.py timer_test.py    路径 /home/li/d/pythonwork/test/timer_ ...

  8. C语言--isspace()函数实现

      c语言中有很多处理string类型的函数,今天简单的使用了一下isspace()函数,自我实现调用了一下. Isspace()函数   包含在ctype.h头文件中 函数原型: int isspa ...

  9. Python3基础系列——枚举类型大揭秘

    为什么使用枚举 枚举类型是定义常量的一种最优选择. 常量的广义概念是:不变化的量 对于常量的通俗比喻--如同大山不被轻而易举地改变 地球上的重力加速度到海枯石烂也会改变 人们使用的常量是时间不很漫长的 ...

  10. java中的synchronized : 模拟取款

    1.定义账户类: public class Account { private int balance = 500; public int getBalance() { return balance; ...