码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-04-05 21:20:14      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:toc   express   www   mem   into   文化   end   代码   lib   

 

 

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

标签:toc   express   www   mem   into   文化   end   代码   lib   

原文地址:http://www.cnblogs.com/attilax/p/6670638.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!