- mybatise plus and中同时包含几个or查询时候需要循环拼接如何使用
蓝奕世
java前端javascript
循环拼接如何实现可以实现循环的内容拼接queryWrapper.and(s->{for(StringexpertIn:dto.getAllExpertIn()){s.or(w->{w.like(UtilObj.isNotEmpty(expertIn),"t_experts."+Experts.F_EXPERT_IN,expertIn);});}});产生的sql如下:这样就可以使用循环去拼接sql
- Redis学习笔记--尚硅谷
Geho
redis数据库nosqljavaspringboot
一、NoSQLNoSQL数据库概述解决各种问题用到的技术解决功能性的问题:ava、Jsp、RDBMS、Tomcat、HTML、Linux、JDBC、SVNe解决扩展性的问题:Struts、Spring、SpringMVC、Hibernate、Mybatise解决性能的问题:NoSQL、Java线程、Hadoop、Nginx、MQ、ElasticSearch·不遵循SQL标准·不支持ACID·远超于
- MyBatis批量插入数据优化,新增参数大幅提升操作效率
技术琐事
javaspringmaven后端mybatis
项目中进行接口压测,发现批量插入的速度有点超出预期,感觉很奇怪,经过定位后发现mybatise-plus批量保存的处理十分缓慢,使用的是saveBatch方法,这点有点想不通。于是就进行了相关内容分析。根据mybatise-plus中saveBatch的方法进行源码查看:继续跟踪逻辑,从代码上看,确实是一条条执行了sqlSession.insert(sqlStatement,entity)方法。继
- mybatise-plus的id过长问题
Bugman.
Bug专栏javaspringbootidemysqlmybatismybatis-plus
一、问题情景笔者在做mp插入数据库(id已设置为自增)操作时,发现新增数据的id过长,结果导致前端JS拿到的数据出现了精度丢失问题,原因是后端id的类型是Long。在网上查了一下,只要在该属性上加上如下注解就可以@TableId(value="id",type=IdType.AUTO)privateLongid;但加入后,我又新增了一条数据,结果数据库id依旧是mp雪花算法生成的id二、问题解决查
- Spring Data JPA 入门
nvd11
JavaJPA数据库java开发语言
1.什么是SpringDataJPAJPA全称JavaPersistenceApi,中文是java持久化API。它是当今世界上最流行的ORM(Object-RelationalMapping)框架。当年我们都感觉传统的ORM框架hibernate相当的难用和臃肿,特别多联表查询,然后选择更轻量级和更直观的的Mybatise.但其实Mybaise并不是1个ORM框架,它是拥抱sql的。对熟悉sql的
- eclipse 中没有Mybatise提示的解决思路
abcdint
javamybatisexml
1.将projectmybatis/lib/mybatis-3-config.dtd,projectmybatis/lib/mybatis-3-mapper.dtd这两个文件导放到项目中。2.在Windows->Preferences->XML->XMLCatalog修改:XMLCatalogEntries->UserSpecifiedEntriesLocation:projectmybatis/
- 自定义retrofit框架(一)java动态代理
好多个胖子
前言在开始编写自己的retrofit框架之前,有必要再了解一下java动态代理。因为动态代理在一些成熟的java框架上应用非常广泛,例如android中的retrofit以及J2EE中的mybatise。这里不讲动态代理的相关类概念,可以自行查找api了解,只是对它在实际开发中的作用进行一个梳理。动态代理的基本使用功能一方法增强,即在一个方法被调用的前后加入额外的操作#新建一个People的接口,
- javaweb开发最新整理实用可用的五大框架精简jar包(SSHID)
a284065570
javaweb开发技术
下面是各大主流框架实用且能跑得起来的扩展jar资源清单:Hibernate4.0.2jar包Springmvc和权限控制jar包Mybatise3.0-jar包Struts2.3.6精简jar包JDBC驱动包免费下载地址>>具体框架配置如有什么问题请留言....
- MyBatise代码自动生成时候Oralce的number类型BigDecimal问题
wang19841229
MyBatise
第一次使用MyBatise发现一个问题,使用MyBatise的代码自动生成工具时候,即便在配置文件中定义了生成之后的实体中number类型转换成JAVA类型还是会被转换为BigDecimal类型。后来发现问题是这样的Oracle数据库,用mybatis-gen.xml自动生成Java对象的时候,会根据number类型的长度不同生成不同的数据类型number长度Java类型1~4Short5~9In
- mybatise插件反向生成数据库表相关Java代码
weixin_33728708
数据库java
1.下载相关jar包https://github.com/mybatis/generator/releases2.配置xml文件3.执行相关命令java-jarmybatis-generator-core-1.3.2.jar-configfilegenerator.xml-overwrite(注意:相关路径)项目结构:
- Mybatise
Alisa_新
1、#{}和${}的区别是什么?(1)#{}是预编译的处理,${}是字符串替换(2)mybatis在处理#{}时候,会将sql中的#{}替代成?号,调用PreparedStatement的set赋值(3)mybatis在处理${}时,就是把${}替换成变量的值。(4)使用#{}可以有效防止sql注入,提高系统的安全性。2.springMVC接受参数的几种方式@PathVariab@ModelAtt
- MyBatise同步es(Elasticsearch)方案
WXF_Sir
需求:如上图这个查询,不需要太大的数据量就足以上MySQL数据库崩溃,解决方案之一就是将查询的数据同步到es服务器中,数据库持久层采用Mybatis+Mybatis-plusgitee地址:https://gitee.com/ichiva/mybatis-sync-es解决思路使用Mybatis拦截器拦截update操作,获取拦截的类名+方法名组成的id,以及传入的参数,找到对应的处理器,交给处理
- mybatise自定义插件或者叫mybatise拦截器,动态修改sql语句
杰灵
packagecom.teamsun.net.common.utils;importjava.lang.reflect.Constructor;importjava.util.Properties;importorg.apache.ibatis.executor.Executor;importorg.apache.ibatis.mapping.BoundSql;importorg.apache.i
- idea中springboot项目 @Autowired 注解对象出现红色告警解决办法
Kikyou994755
在整合springboot+mybatise项目中用@Autowired注解某个类是出现红色告解决办法:去改一下idea代码审查级别配置就可以
- mybatise一对多关系查询时不能直接分页
草丛里的码农
mybatis
在mybatise应用时候我们经常会用到collection进行一对多映射,这时候分页就有了问题。比如A表1条记录对应B表3条记录,这时候查询就是3条记录,但是实际上我们需要的只是1条。解决方案:一提供一个工具方法生成新的RowBounds核心思想:1计算主表对应副表的记录数Listcounts2计算页面大小pageSize,等于原pageSize+counts集合里面每个值的累加3设置偏移量/*
- mybatise+oracle添加数据时如果数据存在就更新,如果不存在就插入
println小强
web-servic
判断需要插入的数据是否存在,如果不存在就更新MERGEINTO表名TUSING(SELECTSYS_GUID()ASCODE,#{item.createDate,jdbcType=VARCHAR}ASCREATE_DATE,#{item.createBy,jdbcType=VARCHAR}ASCREATE_BY,#{item.flagDel,jdbcType=CHAR}ASFLAG_DEL,#{i
- Mybatise,在xml中循环list或map
事业心态==工作
技术总结-框架使用技巧-SSH/M
--mybatisexml可以循环list/map等UPDATE`standard_switchover`setsort=NULL#{sortMap[${key}]}WHEREid=#{key}
- message Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: ne
BinBin_Jun
org.mybatis.spring.MyBatisSystemException:nestedexceptionisorg.apache.ibatis.binding.BindingException:Parameter'email'notfound.Availableparametersare[1,0,param1,param2] atorg.mybatis.spring.MyBatisE
- MyBatise中容易忽略的配置——驼峰转换
weixin_42143828
1、实例化Configuration对象并将其mapUnderscoreToCamelCase属性设为truepublicclassWrapAndChangeConfigureSqlSessionFactoryextendsSqlSessionFactoryBean{@OverridepublicvoidafterPropertiesSet()throwsException{super.after
- Mybatise 图片之----持久层的 图形
小程的java
MyBatise---持久层的图形
![通过分层更好的实现了各个部分的职责,在每一层将再细化出不同的框架,分别解决各层关注的问在这里插入图片描述](https://img-blog.csdnimg.cn/20181127103320631.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4u
- Mybatis出坑记
凌霄羽
工具效能中台建设实践心得后端
Springbootmybatis集成Invalidboundstatement(notfound)https://blog.csdn.net/qq_35981283/article/details/78590090后来实在没办法了,跟以前的项目逐一比对,发现application.properties中忘记了mybatise的两行配置:mybatis.typeAliasesPackage=com
- 在MyBatise框架里 的实体类都会 实现Serializable。。。
小程的java
mybatise里的序列化
Serializable接口是一个里面什么都没有的接口它的源代码是publicinterfaceSerializable{},即什么都没有。如果一个接口里面什么内容都没有,那么这个接口是一个标识接口,比如,一个学生遇到一个问题,排错排了几天也没解决,此时,她举手了(示意我去帮他解决),然后我过去,帮他解决了,那么这个举手其实就是一个标识,自己不能解决的问题标示我去帮他解决,在Java中的这个Ser
- mybatise 1、纯注解开发demo
金箍一梦何来愁
mybatis
java对象publicclassUser{privateintid;privateStringname;privateUserSexEnumuserSex;privateStringpassword;}publicenumUserSexEnum{MALE,FEMALE}接口publicinterfaceUserMapper{@Select("SELECT*FROMuser")@Results({
- 关于jq回调函数总是进入error的解决办法
weixin_34258838
2019独角兽企业重金招聘Python工程师标准>>>最近开发项目的时候,ajax的回调函数返回的收都是正确的,但是却进不去success而是进入了error,通过在网上找资料终于找到原因了。首先我用的开发框架是SpringMVC+mybatise+注解。我发现如果你的control没有返回值或者只是返回一个标志时,如果你没有在方法上加上@ResponseBody这样的注解,前台就会进入到erro
- mybatise框架sql语句中trim的使用
feixiaohuijava
mybatise
看到一块代码,第一次见到trim这种标签,于是开始研究了:insertintouser10000">userId,weixin,weibo,userEmail,10000">#{userId},#{wx},#{wb},#{userEmail},然后,百度出一些资料:trim属性prefix:前缀覆盖并增加其内容suffix:后缀覆盖并增加其内容prefixOverrides:前缀判断的条件suff
- 采用PageHelper插件实现SSM之JSP分页效果
mapboo
后台开发
PageHelper是一款非常强大的分页组件,Github地址:https://github.com/pagehelper/Mybatis-PageHelper/,在采用SSM项目中,非常容易集成,具体过程如下:第一步,引入pom.xml中,代码如下:com.github.pagehelperpagehelper5.1.2第二步,在mybatise的配置文件中引入,代码如下://注意放最下面第三步
- mybatis中使用枚举类做增删改,直接映射返回Vo对象,传递枚举在xml中
JaredYang_csdn
mybatis
在系统中,有些类型、状态等特别多,代码中写了很多的逻辑判断。本文将枚举类和普通java数据类型的字段一样在mybatise中直接操作存入修改和查询返回,并且以整个项目考虑,适用于项目中存在大量的枚举类情形,不要觉得复杂内容长,不就是粘贴复制吗?超级简单好吧!如下xml中是对一个表的基本操作:下面是含有枚举类属性的普通java类publicclassContractSignatureEntityex
- 开源中国中MybatisePlus 代码自动生成——初体验通过代码生成构建SSM项目
默默的菜鸟--
Mybaties代码生成
开源中国中有很多优秀的开源项目可以供我们学习。本次分享的是一个基于Mybatise代码自动生成工具,只需要之前设计数据库,然后使用自动生成代码的工具类,可以将entity,mapper,service,Controller层自动生成。并且实现基础的功能,增删查改,以及分页等效果。先分享一下网站Mybatise-Plus。可以自行过去学习。本节主要讲基于这个工具构建SSM项目,并创建一个简单的接口首
- 使用case when 查询不同角色不同的内容
y806839048
sql
阅读更多使用casewhen查询不同角色不同的内容主要针对其他表,不同字段和角色比对,不是同一个字段和角色比对的简单情况casewhen可以放在任何地方当然也可以用mybatise本身的标签:复杂的sql都可借助网上资料查询结构,思路SELECT*,(SELECTTEAM_NAMEFROMfinancial_sales_teamtWHEREt.ID=o.TEM_ID)ASTEAM_NAME,(SE
- 使用case when 查询不同角色不同的内容
y806839048
sql
阅读更多使用casewhen查询不同角色不同的内容主要针对其他表,不同字段和角色比对,不是同一个字段和角色比对的简单情况casewhen可以放在任何地方当然也可以用mybatise本身的标签:复杂的sql都可借助网上资料查询结构,思路SELECT*,(SELECTTEAM_NAMEFROMfinancial_sales_teamtWHEREt.ID=o.TEM_ID)ASTEAM_NAME,(SE
- Spring中@Value注解,需要注意的地方
无量
springbean@Valuexml
Spring 3以后,支持@Value注解的方式获取properties文件中的配置值,简化了读取配置文件的复杂操作
1、在applicationContext.xml文件(或引用文件中)中配置properties文件
<bean id="appProperty"
class="org.springframework.beans.fac
- mongoDB 分片
开窍的石头
mongodb
mongoDB的分片。要mongos查询数据时候 先查询configsvr看数据在那台shard上,configsvr上边放的是metar信息,指的是那条数据在那个片上。由此可以看出mongo在做分片的时候咱们至少要有一个configsvr,和两个以上的shard(片)信息。
第一步启动两台以上的mongo服务
&nb
- OVER(PARTITION BY)函数用法
0624chenhong
oracle
这篇写得很好,引自
http://www.cnblogs.com/lanzi/archive/2010/10/26/1861338.html
OVER(PARTITION BY)函数用法
2010年10月26日
OVER(PARTITION BY)函数介绍
开窗函数 &nb
- Android开发中,ADB server didn't ACK 解决方法
一炮送你回车库
Android开发
首先通知:凡是安装360、豌豆荚、腾讯管家的全部卸载,然后再尝试。
一直没搞明白这个问题咋出现的,但今天看到一个方法,搞定了!原来是豌豆荚占用了 5037 端口导致。
参见原文章:一个豌豆荚引发的血案——关于ADB server didn't ACK的问题
简单来讲,首先将Windows任务进程中的豌豆荚干掉,如果还是不行,再继续按下列步骤排查。
&nb
- canvas中的像素绘制问题
换个号韩国红果果
JavaScriptcanvas
pixl的绘制,1.如果绘制点正处于相邻像素交叉线,绘制x像素的线宽,则从交叉线分别向前向后绘制x/2个像素,如果x/2是整数,则刚好填满x个像素,如果是小数,则先把整数格填满,再去绘制剩下的小数部分,绘制时,是将小数部分的颜色用来除以一个像素的宽度,颜色会变淡。所以要用整数坐标来画的话(即绘制点正处于相邻像素交叉线时),线宽必须是2的整数倍。否则会出现不饱满的像素。
2.如果绘制点为一个像素的
- 编码乱码问题
灵静志远
javajvmjsp编码
1、JVM中单个字符占用的字节长度跟编码方式有关,而默认编码方式又跟平台是一一对应的或说平台决定了默认字符编码方式;2、对于单个字符:ISO-8859-1单字节编码,GBK双字节编码,UTF-8三字节编码;因此中文平台(中文平台默认字符集编码GBK)下一个中文字符占2个字节,而英文平台(英文平台默认字符集编码Cp1252(类似于ISO-8859-1))。
3、getBytes()、getByte
- java 求几个月后的日期
darkranger
calendargetinstance
Date plandate = planDate.toDate();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
cal.setTime(plandate);
// 取得三个月后时间
cal.add(Calendar.M
- 数据库设计的三大范式(通俗易懂)
aijuans
数据库复习
关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。数据库的设计范式是数据库设计所需要满足的规范。只有理解数据库的设计范式,才能设计出高效率、优雅的数据库,否则可能会设计出错误的数据库.
目前,主要有六种范式:第一范式、第二范式、第三范式、BC范式、第四范式和第五范式。满足最低要求的叫第一范式,简称1NF。在第一范式基础上进一步满足一些要求的为第二范式,简称2NF。其余依此类推。
- 想学工作流怎么入手
atongyeye
jbpm
工作流在工作中变得越来越重要,很多朋友想学工作流却不知如何入手。 很多朋友习惯性的这看一点,那了解一点,既不系统,也容易半途而废。好比学武功,最好的办法是有一本武功秘籍。研究明白,则犹如打通任督二脉。
系统学习工作流,很重要的一本书《JBPM工作流开发指南》。
本人苦苦学习两个月,基本上可以解决大部分流程问题。整理一下学习思路,有兴趣的朋友可以参考下。
1 首先要
- Context和SQLiteOpenHelper创建数据库
百合不是茶
androidContext创建数据库
一直以为安卓数据库的创建就是使用SQLiteOpenHelper创建,但是最近在android的一本书上看到了Context也可以创建数据库,下面我们一起分析这两种方式创建数据库的方式和区别,重点在SQLiteOpenHelper
一:SQLiteOpenHelper创建数据库:
1,SQLi
- 浅谈group by和distinct
bijian1013
oracle数据库group bydistinct
group by和distinct只了去重意义一样,但是group by应用范围更广泛些,如分组汇总或者从聚合函数里筛选数据等。
譬如:统计每id数并且只显示数大于3
select id ,count(id) from ta
- vi opertion
征客丶
macoprationvi
进入 command mode (命令行模式)
按 esc 键
再按 shift + 冒号
注:以下命令中 带 $ 【在命令行模式下进行】,不带 $ 【在非命令行模式下进行】
一、文件操作
1.1、强制退出不保存
$ q!
1.2、保存
$ w
1.3、保存并退出
$ wq
1.4、刷新或重新加载已打开的文件
$ e
二、光标移动
2.1、跳到指定行
数字
- 【Spark十四】深入Spark RDD第三部分RDD基本API
bit1129
spark
对于K/V类型的RDD,如下操作是什么含义?
val rdd = sc.parallelize(List(("A",3),("C",6),("A",1),("B",5))
rdd.reduceByKey(_+_).collect
reduceByKey在这里的操作,是把
- java类加载机制
BlueSkator
java虚拟机
java类加载机制
1.java类加载器的树状结构
引导类加载器
^
|
扩展类加载器
^
|
系统类加载器
java使用代理模式来完成类加载,java的类加载器也有类似于继承的关系,引导类是最顶层的加载器,它是所有类的根加载器,它负责加载java核心库。当一个类加载器接到装载类到虚拟机的请求时,通常会代理给父类加载器,若已经是根加载器了,就自己完成加载。
虚拟机区分一个Cla
- 动态添加文本框
BreakingBad
文本框
<script> var num=1; function AddInput() { var str=""; str+="<input 
- 读《研磨设计模式》-代码笔记-单例模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
public class Singleton {
}
/*
* 懒汉模式。注意,getInstance如果在多线程环境中调用,需要加上synchronized,否则存在线程不安全问题
*/
class LazySingleton
- iOS应用打包发布常见问题
chenhbc
iosiOS发布iOS上传iOS打包
这个月公司安排我一个人做iOS客户端开发,由于急着用,我先发布一个版本,由于第一次发布iOS应用,期间出了不少问题,记录于此。
1、使用Application Loader 发布时报错:Communication error.please use diagnostic mode to check connectivity.you need to have outbound acc
- 工作流复杂拓扑结构处理新思路
comsci
设计模式工作算法企业应用OO
我们走的设计路线和国外的产品不太一样,不一样在哪里呢? 国外的流程的设计思路是通过事先定义一整套规则(类似XPDL)来约束和控制流程图的复杂度(我对国外的产品了解不够多,仅仅是在有限的了解程度上面提出这样的看法),从而避免在流程引擎中处理这些复杂的图的问题,而我们却没有通过事先定义这样的复杂的规则来约束和降低用户自定义流程图的灵活性,这样一来,在引擎和流程流转控制这一个层面就会遇到很
- oracle 11g新特性Flashback data archive
daizj
oracle
1. 什么是flashback data archive
Flashback data archive是oracle 11g中引入的一个新特性。Flashback archive是一个新的数据库对象,用于存储一个或多表的历史数据。Flashback archive是一个逻辑对象,概念上类似于表空间。实际上flashback archive可以看作是存储一个或多个表的所有事务变化的逻辑空间。
- 多叉树:2-3-4树
dieslrae
树
平衡树多叉树,每个节点最多有4个子节点和3个数据项,2,3,4的含义是指一个节点可能含有的子节点的个数,效率比红黑树稍差.一般不允许出现重复关键字值.2-3-4树有以下特征:
1、有一个数据项的节点总是有2个子节点(称为2-节点)
2、有两个数据项的节点总是有3个子节点(称为3-节
- C语言学习七动态分配 malloc的使用
dcj3sjt126com
clanguagemalloc
/*
2013年3月15日15:16:24
malloc 就memory(内存) allocate(分配)的缩写
本程序没有实际含义,只是理解使用
*/
# include <stdio.h>
# include <malloc.h>
int main(void)
{
int i = 5; //分配了4个字节 静态分配
int * p
- Objective-C编码规范[译]
dcj3sjt126com
代码规范
原文链接 : The official raywenderlich.com Objective-C style guide
原文作者 : raywenderlich.com Team
译文出自 : raywenderlich.com Objective-C编码规范
译者 : Sam Lau
- 0.性能优化-目录
frank1234
性能优化
从今天开始笔者陆续发表一些性能测试相关的文章,主要是对自己前段时间学习的总结,由于水平有限,性能测试领域很深,本人理解的也比较浅,欢迎各位大咖批评指正。
主要内容包括:
一、性能测试指标
吞吐量、TPS、响应时间、负载、可扩展性、PV、思考时间
http://frank1234.iteye.com/blog/2180305
二、性能测试策略
生产环境相同 基准测试 预热等
htt
- Java父类取得子类传递的泛型参数Class类型
happyqing
java泛型父类子类Class
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import org.junit.Test;
abstract class BaseDao<T> {
public void getType() {
//Class<E> clazz =
- 跟我学SpringMVC目录汇总贴、PDF下载、源码下载
jinnianshilongnian
springMVC
----广告--------------------------------------------------------------
网站核心商详页开发
掌握Java技术,掌握并发/异步工具使用,熟悉spring、ibatis框架;
掌握数据库技术,表设计和索引优化,分库分表/读写分离;
了解缓存技术,熟练使用如Redis/Memcached等主流技术;
了解Ngin
- the HTTP rewrite module requires the PCRE library
流浪鱼
rewrite
./configure: error: the HTTP rewrite module requires the PCRE library.
模块依赖性Nginx需要依赖下面3个包
1. gzip 模块需要 zlib 库 ( 下载: http://www.zlib.net/ )
2. rewrite 模块需要 pcre 库 ( 下载: http://www.pcre.org/ )
3. s
- 第12章 Ajax(中)
onestopweb
Ajax
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- Optimize query with Query Stripping in Web Intelligence
blueoxygen
BO
http://wiki.sdn.sap.com/wiki/display/BOBJ/Optimize+query+with+Query+Stripping+in+Web+Intelligence
and a very straightfoward video
http://www.sdn.sap.com/irj/scn/events?rid=/library/uuid/40ec3a0c-936
- Java开发者写SQL时常犯的10个错误
tomcat_oracle
javasql
1、不用PreparedStatements 有意思的是,在JDBC出现了许多年后的今天,这个错误依然出现在博客、论坛和邮件列表中,即便要记住和理解它是一件很简单的事。开发者不使用PreparedStatements的原因可能有如下几个: 他们对PreparedStatements不了解 他们认为使用PreparedStatements太慢了 他们认为写Prepar
- 世纪互联与结盟有感
阿尔萨斯
10月10日,世纪互联与(Foxcon)签约成立合资公司,有感。
全球电子制造业巨头(全球500强企业)与世纪互联共同看好IDC、云计算等业务在中国的增长空间,双方迅速果断出手,在资本层面上达成合作,此举体现了全球电子制造业巨头对世纪互联IDC业务的欣赏与信任,另一方面反映出世纪互联目前良好的运营状况与广阔的发展前景。
众所周知,精于电子产品制造(世界第一),对于世纪互联而言,能够与结盟