数据源

数据存储Store

在前面的表格应用中,我们已经知道表格的数据是存放类型为Store 的数据存储器中,通过指定表格Grid 的store 属性来设置表格中显示的数据,通过调用store 的load 或reload方法可以重新加载表格中的数据。ExtJS 中用来定义控件中使用数据的API 位于Ext.dd 命名空间中,本章我们重点对ExtJS 中的数据存储Store 进行介绍。

A:Record

首先需要明确是,ExtJS 中有一个名为Record 的类,表格等控件中使用的数据是存放在Record 对象中,一个Record 可以理解为关系数据表中的一行,也可以称为记录。Record对象中即包含了记录(行中各列)的定义信息(也就是该记录包含哪些字段,每一个字段的数据类型等),同时又包含了记录具体的数据信息(也就是各个字段的值)。

我们来看直接使用Record 的代码:

Ext.onReady(function(){

var MyRecord = Ext.data.Record.create([

{name: 'title'},

{name: 'username', mapping: 'author'},

{name: 'loginTimes', type: 'int'},

{name: 'lastLoginTime', mapping: 'loginTime', type: 'date'}

]);

var r=new MyRecord({

title:"日志标题",

username:"easyjf",

loginTimes:100,

loginTime:new Date()

});

alert(MyRecord.getField("username").mapping);

alert(MyRecord.getField("lastLoginTime").type);

alert(r.data.username);

alert(r.get("loginTimes"));

});

首先使用Record create 方法创建一个记录集MyRecordMyRecord 其实是一个类,该类包含了记录集的定义信息,可以通过MyRecord 来创建包含字段值的Record 对象。在上面的代码中,最后的几条语句用来输出记录集的相关信息,MyRecord.getField("username")

可以得到记录中username 列的字段信息,r.get("loginTimes")可以得到记录loginTimes 字段的值,而r.data.username 同样能得到记录集中username 字段的值。对Record 有了一定的了解,那么要操作记录集中的数据就非常简单了, 比如r.set(name,value)可以设置记录中某指定字段的值,r. dirty 可以得到当前记录是否有字段的值被更改过等等。

B:Store

可以理解为数据存储器,可以理解为客户端的小型数据表,提供缓存等功能。在ExtJS 中,GridPanelComboBoxDataView 等控件一般直接与Store 打交道,直接通过store来获得控件中需要展现的数据等。一个Store 包含多个Record,同时Store 又包含了数据来源,数据解析器等相关信息,Store 通过调用具体的数据解析器(DataReader)来解析指定类型或格式的数据(DataProxy),并转换成记录集的形式保存在Store 中,作为其它控件的数据输入。

数据存储器由Ext.data.Store 类定义,一个完整的数据存储器要知道数据源(DataProxy)及数据解析方式(DataReader)才能工作,在Ext.data.Store 类中数据源由proxy 配置属性定义、数据解析(读取)器由reader 配置属性定义,一个较为按部就班创建Store 的代码如下:

alert(r.get("loginTimes"));

});

var MyRecord = Ext.data.Record.create([

{name: 'title'},

{name: 'username', mapping: 'author'},

{name: 'loginTimes', type: 'int'},

{name: 'lastLoginTime', mapping: 'loginTime', type: 'date'}

]);

var dataProxy=new Ext.data.HttpProxy({url:"link.ejf"});

var theReader=new Ext.data.JsonReader({

totalProperty: "results",

root: "rows",

id: "id"

},MyRecord);

var store=new Ext.data.Store({

proxy:dataProxy,

reader:theReader

});

当然,这样的难免代码较多,Store 中本身提供了一些快捷创建Store 的方式,比如上面的示例代码中可以不用先创建一个HttpProxy,只需要在创建Store 的时候指定一个url 配置参数,就会自动使用HttpProxy 来加载参数。比如,上面的代码可以简化成:

var MyRecord = Ext.data.Record.create([

{name: 'title'},

{name: 'username', mapping: 'author'},

{name: 'loginTimes', type: 'int'},

{name: 'lastLoginTime', mapping: 'loginTime', type: 'date'}

]);

var theReader=new Ext.data.JsonReader({

totalProperty: "results",

root: "rows",

id: "id"

},MyRecord);

var store=new Ext.data.Store({

url:"link.ejf",

proxy:dataProxy,

reader:theReader

});

store.load();

虽然不再需要手动创建HttpProxy 了,但是仍然需要创建DataReader 等,毕竟还是复杂,ExtJS 进一步把这种常用的数据存储器进行了封装,在Store 类的基础上提供了SimpleStoreGroupingStore 等,直接使用SimpleStore,则上面的代码可以进一步简化成下面的内容:

var store=new Ext.data.JSonStore({

url:"link.ejf?cmd=list",

totalProperty: "results",

root: "rows",

fields:['title', {name: 'username', mapping: 'author'},

{name: 'loginTimes', type: 'int'},

{name: 'lastLoginTime', mapping: 'loginTime', type: 'date'}

]

});

store.load();

C:DataReader

表示数据读取器,也就是数据解析器,其负责把从服务器或者内存数组、xml文档中获得的杂乱信息转换成ExtJS 中的记录集Record 数据对象,并存储到Store 里面的记录集数组中。

数据解析器的基类由Ext.data.DataReader定义,其它具体的数据解析器都是该类的子类,ExtJS 中提供了读取二维数组、JSon 数据及Xml 文档的三种数据解析器,分别用于把内存中的二级数组、JSON 格式的数据及XML 文档信息解析成记录集。

1ArrayReader

Ext.data.ArrayReader-数组解析器,用于读取二维数组中的信息,并转换成记录集Record对象。首先看下面的代码:

var MyRecord = Ext.data.Record.create([

{name: 'title', mapping:1},

{name: 'username', mapping:2},

{name: 'loginTimes', type:3}

]);

var myReader = new Ext.data.ArrayReader({

id: 0

}, MyRecord);

这里定义的myReader 可以读取下面的二维数组:

[ [1, '测试', '小王',3], [2, '新年好', 'williamraym',13] ]

2JsonReader

Ext.data.JsonReaderJson 数据解析器,用于读取JSON 格式的数据信息,并转换成记录集Record 对象。看下面使用JsonReader 的代码:

var MyRecord = Ext.data.Record.create([

{name: 'title'},

{name: 'username', mapping: 'author'},

{name: 'loginTimes', type: 'int'}

]);

var myReader = new Ext.data.JsonReader({

totalProperty: "results",

root: "rows",

id: "id"

}, MyRecord);

这里的JsonReader 可以解析下面的JSON 数据:

{ 'results': 2, 'rows': [

{ id: 1, title: '测试', author: '小王', loginTimes: 3 },

{ id: 2, title: 'Ben', author: 'williamraym', loginTimes:13} ]

}

JSonReader 还有比较特殊的用法,就是可以把Store 中记录集的配置信息存放直接保存在从服务器端返回的JSON 数据中,比如下面的例子:

var myReader = new Ext.data.JsonReader();

这一个不带任何参数的myReader,可以处理从服务器端返回的下面JSON 数据:

{

'metaData': {

totalProperty: 'results',

root: 'rows',

id: 'id',

fields: [

{name: 'title'},

{name: 'username', mapping: 'author'},

{name: 'loginTimes', type: 'int'} ]

},

'results': 2, 'rows': [

{ id: 1, title: '测试', author: '小王', loginTimes: 3 },

{ id: 2, title: '新年好', author: 'williamraym', loginTimes:13}]

}

3XmlReader

Ext.data.XmlReaderXML 文档数据解析器,用于把XML 文档数据转换成记录集Record对象。看下面的代码:

var MyRecord = Ext.data.Record.create([

{name: 'title'},

{name: 'username', mapping: 'author'},

{name: 'loginTimes', type: 'int'}

]);

var myReader = new Ext.data.XmlReader({

totalRecords: "results",

record: "rows",

id: "id"

}, MyRecord);

上面的myReader 能够解析下面的xml 文档信息:

2

1

测试</ title ></p> <p><author>小王</ author ></p> <p><loginTimes>3</ loginTimes ></p> <p></row></p> <p><row></p> <p><id>2</id></p> <p><title>新年好</ title ></p> <p><author> williamraym </ author ></p> <p><loginTimes>13</ loginTimes ></p> <p></row></p> <p></topics></p> <p><b> </b></p> <p><b> </b></p> <p><b>DataProxy</b>与自定义<b>Stroe</b></p> <p><b>DataProxy </b><b>字面解释就是数据代理,也可以理解为数据源,也即从哪儿或如何得到需要交给</b><b>DataReader </b><b>解析的数据。数据代理(源)基类由</b><b>Ext.data.DataProxy </b><b>定义,在</b><b>DataProxy</b><b>的基础,</b><b>ExtJS </b><b>提供了</b><b>Ext.data.MemoryProxy</b><b>、</b><b>Ext.data.HttpProxy</b><b>、</b><b>Ext.data.ScriptTagProxy</b><b>等三个分别用于从客户端内存数据、</b><b>Ajax </b><b>读取服务器端的数据及从跨域服务器中读取数据等三种实现。</b></p> <p>比如像SimpleStore 等存储器是直接从从客户端的内存数组中读取数据,此时就可以直接使用Ext.data.MemoryProxy , 而大多数需要从服务器端加载的数据直接使用Ext.data.HttpProxy,HttpProxy 直接使用Ext.Ajax 加载服务器的数据,由于这种请求是不能跨域的,所以要要读取跨域服务器中的数据时就需要使用到Ext.data.ScriptTagProxy。</p> </article> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1717723738293743616"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(数据源)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1938725102522789888.htm" title="Java流式编程实战指南" target="_blank">Java流式编程实战指南</a> <span class="text-muted">面朝大海,春不暖,花不开</span> <a class="tag" taget="_blank" href="/search/Java%E5%9F%BA%E7%A1%80/1.htm">Java基础</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>流式编程基础示例本节通过一个完整的整数处理案例,演示Java流式编程的核心操作流程。该示例将读取整数列表,计算其中所有奇数的平方和,涵盖从流创建到终端操作的完整处理链。流创建与数据源Collection接口的stream()方法可将集合转换为顺序流。以下代码创建包含1到5的整数列表,并通过stream()方法生成流对象://创建1到5的整数列表ListnumbersList=List.of(1,2</div> </li> <li><a href="/article/1938645836170850304.htm" title="spring boot项目整合mybatis实现多数据源的配置" target="_blank">spring boot项目整合mybatis实现多数据源的配置</a> <span class="text-muted">张乔24</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot%E6%95%B4%E5%90%88%E7%AC%AC%E4%B8%89%E6%96%B9%E6%8A%80%E6%9C%AF/1.htm">boot整合第三方技术</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E6%95%B0%E6%8D%AE%E6%BA%90/1.htm">多数据源</a> <div>在我们日常的开发中,经常会用到一个项目中使用多个数据源的问题,本次就带你了解怎样在springboot项目中使用mybatis整合多个数据源的示例。使用springboot3.5版本1、创建一个springboot项目,并引入相应的maven依赖com.github.xiaoyminknife4j-openapi3-jakarta-spring-boot-starter4.5.0org.sprin</div> </li> <li><a href="/article/1938600449099755520.htm" title="配置不当的MCP服务器使AI代理系统面临入侵风险" target="_blank">配置不当的MCP服务器使AI代理系统面临入侵风险</a> <span class="text-muted">FreeBuf-</span> <a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>风险概述:默认配置暴露命令执行漏洞数百台用于连接大语言模型(LLM)与第三方服务、数据源及工具的模型上下文协议(ModelContextProtocol,MCP)服务器存在默认配置缺陷,可能导致用户面临未授权的操作系统命令执行等风险。随着代理型AI(AgenticAI)的兴起,MCP服务器正迅速成为增强AI模型推理上下文的关键工具。但安全研究人员警告,大量公开共享的MCP服务器存在不安全配置,攻击</div> </li> <li><a href="/article/1938445645421539328.htm" title="时序数据库 TDengine x Kepware:解决你最头疼的“设备接入”问题" target="_blank">时序数据库 TDengine x Kepware:解决你最头疼的“设备接入”问题</a> <span class="text-muted">涛思数据(TDengine)</span> <a class="tag" taget="_blank" href="/search/%E6%97%B6%E5%BA%8F%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">时序数据库</a><a class="tag" taget="_blank" href="/search/tdengine/1.htm">tdengine</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>每个做工业数据采集的工程师都可能遇到这个问题:设备协议五花八门,数据源接入复杂,采集来的数据格式不统一,打通IT与OT系统总是困难重重。你明明已经在数据库中搭好了“数据大坝”,但最前端的那道“数据进口”,却迟迟无法打开。现在,TDengine和Kepware联手,给这个老难题带来了解法。TDengine与Kepware实现集成近日,TDengine正式完成与PTC旗下企业级工业连接解决方案Kepw</div> </li> <li><a href="/article/1938360405852221440.htm" title="【机器学习的五大核心步骤】从零构建一个智能系统" target="_blank">【机器学习的五大核心步骤】从零构建一个智能系统</a> <span class="text-muted"></span> <div>目录一、数据处理:一切从“数据”开始✅常见数据源✅关键任务二、特征工程:从“数据”中提取“洞察”✅常用方法✅高阶技巧三、建立模型:从“算法”到“智能”✅模型类型✅常见算法✅模型训练四、评估迭代:没有反馈,就没有智能✅常用评估指标✅迭代优化方法五、上线应用与持续优化:从“实验室”到“真实世界”✅模型部署方式✅持续优化总结:看懂全流程!延伸阅读推荐作者:一叶轻舟|AI应用开发者&技术博主日期:2025</div> </li> <li><a href="/article/1938254504029908992.htm" title="体育赛事大数据分析:AI模型对足球大小球预测的精度优化" target="_blank">体育赛事大数据分析:AI模型对足球大小球预测的精度优化</a> <span class="text-muted">东奔西走的小喇叭</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a> <div>在足球赛事的大数据分析中,AI模型对“大小球”(总进球数是否高于/低于预设值,如2.5球)的预测优化是一个复杂但具有实际价值的课题。以下从技术实现、数据策略、模型优化及挑战四个维度展开分析:1.数据来源与特征工程核心数据源结构化比赛数据:历史进球数、射门/射正率、控球率、角球、任意球、红黄牌、伤停球员等。球队动态特征:近期5-10场进攻/防守效率、主客场表现、战术风格(如高位逼抢或防守反击)。球员</div> </li> <li><a href="/article/1938241261928509440.htm" title="华为仓颉鸿蒙HarmonyOS NEXT仓颉List性能优化LazyForEach(懒加载)" target="_blank">华为仓颉鸿蒙HarmonyOS NEXT仓颉List性能优化LazyForEach(懒加载)</a> <span class="text-muted">Bison丶</span> <a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA/1.htm">华为</a><a class="tag" taget="_blank" href="/search/list/1.htm">list</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a> <div>LazyForEach从提供的数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。当在滚动容器中使用了LazyForEach,框架会根据滚动容器可视区域按需创建组件,当组件滑出可视区域外时,框架会进行组件销毁回收以降低内存占用。求关注publicclassDataChangeListenerUnit,(T,Int64)->String)publicinit(dataSource:IDataSo</div> </li> <li><a href="/article/1938237856208187392.htm" title="Spark教程3:SparkSQL最全介绍" target="_blank">Spark教程3:SparkSQL最全介绍</a> <span class="text-muted">Cachel wood</span> <a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%BC%80%E5%8F%91/1.htm">大数据开发</a><a class="tag" taget="_blank" href="/search/spark/1.htm">spark</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/1.htm">计算机网络</a><a class="tag" taget="_blank" href="/search/AHP/1.htm">AHP</a><a class="tag" taget="_blank" href="/search/%E9%9C%80%E6%B1%82%E5%88%86%E6%9E%90/1.htm">需求分析</a> <div>文章目录SparkSQL最全介绍一、SparkSQL概述二、SparkSession:入口点三、DataFrame基础操作四、SQL查询五、SparkSQL函数六、与Hive集成七、数据源操作八、DataFrame与RDD互转九、高级特性十、性能优化十一、Catalyst优化器十二、SparkSQL应用场景十三、常见问题与解决方法SparkSQL最全介绍一、SparkSQL概述SparkSQL是A</div> </li> <li><a href="/article/1938199657758912512.htm" title="手把手教你学Simulink——汽车工程场景实例:车联网(V2X)通信技术的仿真" target="_blank">手把手教你学Simulink——汽车工程场景实例:车联网(V2X)通信技术的仿真</a> <span class="text-muted">小蘑菇二号</span> <a class="tag" taget="_blank" href="/search/%E6%89%8B%E6%8A%8A%E6%89%8B%E6%95%99%E4%BD%A0%E5%AD%A6/1.htm">手把手教你学</a><a class="tag" taget="_blank" href="/search/MATLAB/1.htm">MATLAB</a><a class="tag" taget="_blank" href="/search/%E4%B8%93%E6%A0%8F/1.htm">专栏</a><a class="tag" taget="_blank" href="/search/%E6%89%8B%E6%8A%8A%E6%89%8B%E6%95%99%E4%BD%A0%E5%AD%A6/1.htm">手把手教你学</a><a class="tag" taget="_blank" href="/search/Simulink/1.htm">Simulink</a><a class="tag" taget="_blank" href="/search/%E6%B1%BD%E8%BD%A6/1.htm">汽车</a><a class="tag" taget="_blank" href="/search/simulink/1.htm">simulink</a> <div>目录一、引言教程目标二、准备工作三、实现步骤详解✅步骤1:创建Simulink模型✅步骤2:添加车辆与通信环境模型添加信道模型:✅步骤3:设计发送端数据源:编码器:调制器:✅步骤4:设计接收端解调器:解码器:✅步骤5:连接各模块并设置仿真参数示例连线代码:设置仿真参数:✅步骤6:结果可视化计算误比特率:✅步骤7:完整框图结构示意(文字版)四、运行仿真并测试效果五、结论与拓展方向✅本章收获:手把手教</div> </li> <li><a href="/article/1938028472664387584.htm" title="WPF数据绑定详细案例" target="_blank">WPF数据绑定详细案例</a> <span class="text-muted">我叫罗泽南</span> <a class="tag" taget="_blank" href="/search/WPF/1.htm">WPF</a><a class="tag" taget="_blank" href="/search/wpf/1.htm">wpf</a> <div>代码已经上传到GitHub,附上链接DataBindingDemo,代码环境:Win10+VS2022。在WPF中,数据绑定是将UI控件与后台数据源进行关联的一种机制,使得数据与UI自动同步更新。WPF的数据绑定功能强大,可以绑定到属性、集合、数据库等多种数据源。下面通过一个详细的例子来演示如何在WPF中进行数据绑定。示例:数据绑定到ViewModel的属性1.创建一个简单的MVVM应用Model</div> </li> <li><a href="/article/1937949931880902656.htm" title="阿里云MCP:开启AI应用新时代" target="_blank">阿里云MCP:开启AI应用新时代</a> <span class="text-muted">云资源服务商</span> <a class="tag" taget="_blank" href="/search/%E4%BA%91%E8%AE%A1%E7%AE%97/1.htm">云计算</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E4%BA%91/1.htm">阿里云</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a> <div>一、MCP初相识在当今数字化浪潮中,随着云计算技术的迅猛发展,各类云服务如雨后春笋般涌现,为企业和开发者提供了强大的技术支持。其中,阿里云作为云计算领域的佼佼者,推出的MCP(ModelContextProtocol)——模型上下文协议,正逐渐成为推动人工智能应用落地的关键力量。MCP本质上是一种开放协议,它就像是人工智能应用程序的“USB-C端口”,为大模型与外部数据源和工具之间的交互提供了标准</div> </li> <li><a href="/article/1937820582267645952.htm" title="WPF数据绑定简单使用" target="_blank">WPF数据绑定简单使用</a> <span class="text-muted">blade,</span> <a class="tag" taget="_blank" href="/search/wpf/1.htm">wpf</a> <div>WPF(WindowsPresentationFoundation)是微软开发的一种用于构建桌面应用程序的UI框架。数据绑定是WPF中的一个核心概念,它允许开发者将UI元素与数据源进行关联,从而实现数据的自动同步和更新。数据绑定机制使得UI与业务逻辑的分离更加容易,提高了代码的可维护性和可扩展性。数据绑定的基本概念绑定源(Source):数据绑定的数据源,可以是CLR对象、集合、XML、数据库等。</div> </li> <li><a href="/article/1937819193147715584.htm" title="在 WPF 中,绑定机制是如何工作的?WPF数据绑定机制解析" target="_blank">在 WPF 中,绑定机制是如何工作的?WPF数据绑定机制解析</a> <span class="text-muted">九鼎科技-Leo</span> <a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a><a class="tag" taget="_blank" href="/search/.Net/1.htm">.Net</a><a class="tag" taget="_blank" href="/search/WPF/1.htm">WPF</a><a class="tag" taget="_blank" href="/search/wpf/1.htm">wpf</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a> <div>在WPF(WindowsPresentationFoundation)中,数据绑定机制是其核心功能之一,广泛用于连接应用程序的UI(用户界面)和应用程序的业务逻辑层。数据绑定允许你将UI元素与数据源(如对象、集合或其他数据结构)连接起来,并使得数据更新时,UI能够自动同步变化。一、WPF数据绑定的历史背景WPF是Microsoft在2006年发布的Windows应用程序开发框架,它是对传统Wind</div> </li> <li><a href="/article/1937806708575367168.htm" title="MyBatis整合Springboot多数据源实现" target="_blank">MyBatis整合Springboot多数据源实现</a> <span class="text-muted">肥肥技术宅</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>前言数据源,实际就是数据库连接池,负责管理数据库连接,在Springboot中,数据源通常以一个bean的形式存在于IOC容器中,也就是我们可以通过依赖注入的方式拿到数据源,然后再从数据源中获取数据库连接。那么什么是多数据源呢,其实就是IOC容器中有多个数据源的bean,这些数据源可以是不同的数据源类型,也可以连接不同的数据库。本文将对多数据如何加载,如何结合MyBatis使用进行说明,知识点脑图</div> </li> <li><a href="/article/1937800651471908864.htm" title="Spring Boot动态数据源切换:优雅实现多数据源管理" target="_blank">Spring Boot动态数据源切换:优雅实现多数据源管理</a> <span class="text-muted">Mutig_s</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>在复杂的企业应用中,多数据源管理是常见需求。本文将介绍如何基于SpringBoot实现优雅的动态数据源切换方案,通过自定义注解和AOP实现透明化切换。核心设计思路通过三层结构实现数据源动态路由:1.注解层:声明式标记数据源2.路由层:基于ThreadLocal的上下文管理3.切面层:在方法执行前后自动切换数据源核心实现代码1.数据源注解定义@Target({ElementType.TYPE,Ele</div> </li> <li><a href="/article/1937782534528102400.htm" title="【HarmonyOS 5】 多层嵌套对象通过@ObjectLink和@Observed实现渲染更新处理!" target="_blank">【HarmonyOS 5】 多层嵌套对象通过@ObjectLink和@Observed实现渲染更新处理!</a> <span class="text-muted"></span> <div>【HarmonyOS】多层嵌套对象通过@ObjectLink和@Observed实现渲染更新处理!鸿蒙开发能力##HarmonyOSSDK应用服务##鸿蒙金融类应用(金融理财一、问题背景:上文讲过([【HarmonyOS】List组件多层对象嵌套ForEach渲染更新的处理]对多层嵌套的简单处理,即:深拷贝item数据,该场景适用于简单的数据源处理。但是若结构对象层级嵌套很多,属性量级大。使用深拷</div> </li> <li><a href="/article/1937768750656843776.htm" title="Flink SourceFunction深度解析:数据输入的起点与奥秘" target="_blank">Flink SourceFunction深度解析:数据输入的起点与奥秘</a> <span class="text-muted">Edingbrugh.南空</span> <a class="tag" taget="_blank" href="/search/flink/1.htm">flink</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/flink/1.htm">flink</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a> <div>在Flink的数据处理流程中,StreamGraph构建起了作业执行的逻辑框架,而数据的源头则始于SourceFunction。作为Flink数据输入的关键组件,SourceFunction负责从外部数据源读取数据,并将其转换为Flink作业能够处理的格式。深入理解SourceFunction的原理与实现,对于构建高效、稳定的数据处理链路至关重要。接下来,我们将结合有道云笔记内容,对FlinkSo</div> </li> <li><a href="/article/1937762191574888448.htm" title="Flink状态和容错-基础篇" target="_blank">Flink状态和容错-基础篇</a> <span class="text-muted">有数的编程笔记</span> <a class="tag" taget="_blank" href="/search/Flink/1.htm">Flink</a><a class="tag" taget="_blank" href="/search/flink/1.htm">flink</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a> <div>1.概念flink的状态和容错绕不开3个概念,statebackends和checkpoint、savepoint。本文重心即搞清楚这3部分内容。容错机制是基于在状态快照的一种恢复方式。但是状态和容错要分开来看。什么是状态,为什么需要状态?流计算和批计算在数据源上最大的区别是,流计算中的数据是无边界的,数据持续不断,而批计算中数据是有边界的,在计算时可以一次性将数据全部拿到。在流计算中无法拿到全部</div> </li> <li><a href="/article/1937725366948917248.htm" title="【HarmonyOS 5】List组件多层对象嵌套ForEach渲染更新的处理" target="_blank">【HarmonyOS 5】List组件多层对象嵌套ForEach渲染更新的处理</a> <span class="text-muted"></span> <div>【HarmonyOS】List组件多层对象嵌套ForEach渲染更新的处理问题背景:在鸿蒙中UI更新渲染的机制,与传统的AndroidIOS应用开发相比。开发会简单许多,开发效率提升显著。一般传统应用开发的流程处理分为三步:1.画UI,2.获得or创建,处理数据,3.增删改数据,找到对应控件,更新到UI上。而鸿蒙应用开发,大大提供效率其中一点,就是减少了第三步。我们只需要关心数据源的变化,数据自动</div> </li> <li><a href="/article/1937720965270138880.htm" title="Python股票分析系统如何准确预测股价走势?有哪些实用的分析指标?" target="_blank">Python股票分析系统如何准确预测股价走势?有哪些实用的分析指标?</a> <span class="text-muted">股票程序化交易接口</span> <a class="tag" taget="_blank" href="/search/%E9%87%8F%E5%8C%96%E4%BA%A4%E6%98%93/1.htm">量化交易</a><a class="tag" taget="_blank" href="/search/%E8%82%A1%E7%A5%A8API%E6%8E%A5%E5%8F%A3/1.htm">股票API接口</a><a class="tag" taget="_blank" href="/search/Python%E8%82%A1%E7%A5%A8%E9%87%8F%E5%8C%96%E4%BA%A4%E6%98%93/1.htm">Python股票量化交易</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/python%E8%82%A1%E7%A5%A8%E5%88%86%E6%9E%90%E7%B3%BB%E7%BB%9F/1.htm">python股票分析系统</a><a class="tag" taget="_blank" href="/search/%E8%82%A1%E4%BB%B7%E8%B5%B0%E5%8A%BF%E9%A2%84%E6%B5%8B/1.htm">股价走势预测</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E6%9E%90%E6%8C%87%E6%A0%87/1.htm">分析指标</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86/1.htm">数据处理</a><a class="tag" taget="_blank" href="/search/%E8%82%A1%E7%A5%A8%E9%87%8F%E5%8C%96%E6%8E%A5%E5%8F%A3/1.htm">股票量化接口</a><a class="tag" taget="_blank" href="/search/%E8%82%A1%E7%A5%A8API%E6%8E%A5%E5%8F%A3/1.htm">股票API接口</a> <div>Python股票接口实现查询账户,提交订单,自动交易(1)Python股票程序交易接口查账,提交订单,自动交易(2)股票量化,Python炒股,CSDN交流社区>>>Python股票分析系统的首要任务是收集和整合股票相关的数据。它可以从多个数据源,如财经网站、金融数据库等获取股价、成交量、公司财报等信息。通过编写程序,将这些分散的数据收集到一起,为后续的分析提供丰富的素材。这样全面的数据收集能够让</div> </li> <li><a href="/article/1937705585222938624.htm" title="使用Airbyte连接Shopify进行数据集成实践" target="_blank">使用Airbyte连接Shopify进行数据集成实践</a> <span class="text-muted">2301_80727036</span> <a class="tag" taget="_blank" href="/search/%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">语言模型</a><a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a><a class="tag" taget="_blank" href="/search/jenkins/1.htm">jenkins</a> <div>在当今的数据驱动时代,数据集成平台如Airbyte变得尤为重要。它不仅可以让从API、数据库和文件到仓库或数据湖的ELT流程变得高效,还提供了丰富的连接器,支持各种数据源的集成。尽管Airbyte的Shopify连接器已经不再推荐使用,但它的使用方法仍然能为我们揭示一些重要的实践技巧。技术背景介绍Airbyte是一个开源的数据集成平台,专注于从各种数据源将数据提取、加载到目标数据仓库或者数据湖中。</div> </li> <li><a href="/article/1937640140218363904.htm" title="响应式API和非响应式API" target="_blank">响应式API和非响应式API</a> <span class="text-muted"></span> <div>响应式API与非响应式API的核心区别在于数据流处理方式、触发机制、资源利用率以及适用场景。以下是具体对比分析:一、数据流与处理模式响应式API异步与事件驱动:数据流通过事件触发自动处理,无需手动干预。例如,当数据源(如股票价格)更新时,系统立即推送变化并触发相应的界面更新[1][8]。流式处理:支持按需分块处理数据,避免一次性加载大量数据到内存。例如,SpringWebFlux的Flux可以每秒</div> </li> <li><a href="/article/1937628288558100480.htm" title="软考系统架构设计师论文:论多源数据集成及应用" target="_blank">软考系统架构设计师论文:论多源数据集成及应用</a> <span class="text-muted">软考和人工智能学堂</span> <a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1%E5%B8%88/1.htm">系统架构设计师</a><a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84/1.htm">系统架构</a> <div>试题二论多源数据集成及应用在如今信息爆炸的时代,企业、组织和个人面临着大量的数据。这些数据来自不同的渠道和资源,包括传感器、社交媒体、销售记录等,它们各自具有不同的数据格式、分布和存储方式。因此如何收集、整理和清洗数据,以建立一个一致、完整的数据集尤为重要。多源数据集成可以提供更全面的数据视角,将来自不同渠道的数据结合起来,通过这种方式整合多个数据源,从而减少单一数据源带来的误差和不准确性。此外,</div> </li> <li><a href="/article/1937604344534855680.htm" title="若依框架二次开发——若依前后端分离版集成 UReport2 报表工具" target="_blank">若依框架二次开发——若依前后端分离版集成 UReport2 报表工具</a> <span class="text-muted">bjzhang75</span> <a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%E5%AE%9E%E8%B7%B5/1.htm">项目开发实践</a><a class="tag" taget="_blank" href="/search/%E8%8B%A5%E4%BE%9D/1.htm">若依</a><a class="tag" taget="_blank" href="/search/UReport2%E6%8A%A5%E8%A1%A8%E5%B7%A5%E5%85%B7/1.htm">UReport2报表工具</a> <div>文章目录一、UReport2简介二、解决方案1、后端配置1.1引入UReport2依赖1.2启动类配置1.3配置文件1.4修改安全配置2、前端配置2.1配置Vue.js代理2.2创建设计器页面2.3新增菜单运行结果一、UReport2简介UReport2是一款开源的Java报表工具,广泛应用于各类企业管理系统中,具有以下特点:功能强大支持报表设计、数据源配置、报表预览和导出。可视化设计提供拖拽式报</div> </li> <li><a href="/article/1937559104365064192.htm" title="openLayer使用Feature添加点线面图层" target="_blank">openLayer使用Feature添加点线面图层</a> <span class="text-muted">尽意啊</span> <a class="tag" taget="_blank" href="/search/openlayers/1.htm">openlayers</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a> <div>添加点线面图层首先要知道需要完成那些步骤?1.创建矢量图层对象2.创建数据源3.利用创建Feature创建(点|线|面)要素,要素的样式4.将feature添加到数据源中5.将数据源添加到矢量图层对象6.将图层对象放入map对象中通过这六步完成添加点线面图层,可以按照这六步骤拆解问题,进而解决问题.同时不了解什么是矢量对象,数据源等等,可以查看文章openlayers核心架构思维导图-CSDN博客</div> </li> <li><a href="/article/1937540558134243328.htm" title="pandas_datareader 库下载安装" target="_blank">pandas_datareader 库下载安装</a> <span class="text-muted">还不秃顶的计科生</span> <a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/pandas/1.htm">pandas</a> <div>基本含义:pandas_datareader是一个用于从多种远程数据源(如金融、经济和在线数据库)获取数据的Python库。它特别方便与pandas数据框架结合使用,将获取到的外部数据直接加载为pandasDataFrame,以便于进一步的数据处理和分析。这个库是专门设计来简化从网络数据源获取时间序列、经济指标、股票价格等数据的过程。第一部分:安装condainstall-canacondapan</div> </li> <li><a href="/article/1937500698350514176.htm" title="SpringBoot多数据源配置:动态切换与分布式事务处理指南" target="_blank">SpringBoot多数据源配置:动态切换与分布式事务处理指南</a> <span class="text-muted">fanxbl957</span> <a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>博主介绍:Java、Python、js全栈开发“多面手”,精通多种编程语言和技术,痴迷于人工智能领域。秉持着对技术的热爱与执着,持续探索创新,愿在此分享交流和学习,与大家共进步。DeepSeek-行业融合之万象视界(附实战案例详解100+)全栈开发环境搭建运行攻略:多语言一站式指南(环境搭建+运行+调试+发布+保姆级详解)感兴趣的可以先收藏起来,希望帮助更多的人SpringBoot多数据源配置:动</div> </li> <li><a href="/article/1937497293850734592.htm" title="SpringBoot多数据源配置详解" target="_blank">SpringBoot多数据源配置详解</a> <span class="text-muted">墨鸦_Cormorant</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/%E6%8C%81%E4%B9%85%E5%B1%82/1.htm">持久层</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>文章目录多数据源核心概念多数据源实现示例多数据源的配置文件以及配置类JPA多数据源配置MyBatis多数据源配置事务管理:跨数据源事务处理单数据源事务多数据源事务挑战事务管理器:DataSourceTransactionManager和JpaTransactionManager多数据源事务使用基于AbstractRoutingDataSource的动态数据源常见问题与解决方案典型问题排查表数据源切</div> </li> <li><a href="/article/1937443684513542144.htm" title="《仿盒马》app开发技术分享-- 分类模块顶部导航列表弹窗(16)" target="_blank">《仿盒马》app开发技术分享-- 分类模块顶部导航列表弹窗(16)</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/typescript/1.htm">typescript</a> <div>技术栈Appgalleryconnect开发准备上一节我们实现了分类页面的顶部导航栏列表,并且实现了首页金刚区跟首页导航栏的联动,这一节我们实现导航栏列表的弹窗功能,需要学习的知识点有自定义弹窗,同时我们的数据源需要跟分类页保持一一致。功能分析1.弹窗自定义弹窗的实现,然后我们需要在弹窗创建的时候实现数据的同步,当我们在弹窗未出现的时候进行列表下标的切换,打开弹窗的时候需要把对应的index传递进</div> </li> <li><a href="/article/1937369821477924864.htm" title="Flink系列-背压(反压)" target="_blank">Flink系列-背压(反压)</a> <span class="text-muted">Empty-cup</span> <a class="tag" taget="_blank" href="/search/Flink/1.htm">Flink</a><a class="tag" taget="_blank" href="/search/flink/1.htm">flink</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a> <div>目录了解背压什么是背压背压产生的原因背压导致的影响定位背压解决背压了解背压什么是背压在流式处理系统中,如果出现下游消费的速度跟不上上游生产数据的速度,就种现象就叫做背压(backpressure,也叫反压)背压产生的原因下游消费的速度跟不上上游生产数据的速度,可能出现的原因如下:节点有性能瓶颈,可能是该节点所在的机器有网络、磁盘等等故障,机器的网络延迟和磁盘不足、频繁GC、数据热点等原因。数据源生</div> </li> <li><a href="/article/53.htm" title="二分查找排序算法" target="_blank">二分查找排序算法</a> <span class="text-muted">周凡杨</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E4%BA%8C%E5%88%86%E6%9F%A5%E6%89%BE/1.htm">二分查找</a><a class="tag" taget="_blank" href="/search/%E6%8E%92%E5%BA%8F/1.htm">排序</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E6%8A%98%E5%8D%8A/1.htm">折半</a> <div> 一:概念 二分查找又称 折半查找( 折半搜索/ 二分搜索),优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而 查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表 分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步</div> </li> <li><a href="/article/180.htm" title="java中的BigDecimal" target="_blank">java中的BigDecimal</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/BigDecimal/1.htm">BigDecimal</a> <div>        在项目开发过程中出现精度丢失问题,查资料用BigDecimal解决,并发现如下这篇BigDecimal的解决问题的思路和方法很值得学习,特转载。         原文地址:http://blog.csdn.net/ugg/article/de</div> </li> <li><a href="/article/307.htm" title="Shell echo命令详解" target="_blank">Shell echo命令详解</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/echo/1.htm">echo</a><a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a> <div>Shell echo命令 Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式: echo string 您可以使用echo实现更复杂的输出格式控制。 1.显示普通字符串: echo "It is a test" 这里的双引号完全可以省略,以下命令与上面实例效果一致: echo Itis a test 2.显示转义</div> </li> <li><a href="/article/434.htm" title="Oracle DBA 简单操作" target="_blank">Oracle DBA 简单操作</a> <span class="text-muted">周凡杨</span> <a class="tag" taget="_blank" href="/search/oracle+dba+sql/1.htm">oracle dba sql</a> <div> --执行次数多的SQL select sql_text,executions from (      select sql_text,executions from v$sqlarea order by executions desc      ) where rownum<81;  &nb</div> </li> <li><a href="/article/561.htm" title="画图重绘" target="_blank">画图重绘</a> <span class="text-muted">朱辉辉33</span> <a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a> <div>  我第一次接触重绘是编写五子棋小游戏的时候,因为游戏里的棋盘是用线绘制的,而这些东西并不在系统自带的重绘里,所以在移动窗体时,棋盘并不会重绘出来。所以我们要重写系统的重绘方法。   在重写系统重绘方法时,我们要注意一定要调用父类的重绘方法,即加上super.paint(g),因为如果不调用父类的重绘方式,重写后会把父类的重绘覆盖掉,而父类的重绘方法是绘制画布,这样就导致我们</div> </li> <li><a href="/article/688.htm" title="线程之初体验" target="_blank">线程之初体验</a> <span class="text-muted">西蜀石兰</span> <a class="tag" taget="_blank" href="/search/%E7%BA%BF%E7%A8%8B/1.htm">线程</a> <div>一直觉得多线程是学Java的一个分水岭,懂多线程才算入门。 之前看《编程思想》的多线程章节,看的云里雾里,知道线程类有哪几个方法,却依旧不知道线程到底是什么?书上都写线程是进程的模块,共享线程的资源,可是这跟多线程编程有毛线的关系,呜呜。。。 线程其实也是用户自定义的任务,不要过多的强调线程的属性,而忽略了线程最基本的属性。 你可以在线程类的run()方法中定义自己的任务,就跟正常的Ja</div> </li> <li><a href="/article/815.htm" title="linux集群互相免登陆配置" target="_blank">linux集群互相免登陆配置</a> <span class="text-muted">林鹤霄</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>配置ssh免登陆 1、生成秘钥和公钥    ssh-keygen -t rsa 2、提示让你输入,什么都不输,三次回车之后会在~下面的.ssh文件夹中多出两个文件id_rsa 和 id_rsa.pub    其中id_rsa为秘钥,id_rsa.pub为公钥,使用公钥加密的数据只有私钥才能对这些数据解密    c</div> </li> <li><a href="/article/942.htm" title="mysql : Lock wait timeout exceeded; try restarting transaction" target="_blank">mysql : Lock wait timeout exceeded; try restarting transaction</a> <span class="text-muted">aigo</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>原文:http://www.cnblogs.com/freeliver54/archive/2010/09/30/1839042.html   原因是你使用的InnoDB   表类型的时候, 默认参数:innodb_lock_wait_timeout设置锁等待的时间是50s, 因为有的锁等待超过了这个时间,所以抱错.   你可以把这个时间加长,或者优化存储</div> </li> <li><a href="/article/1069.htm" title="Socket编程 基本的聊天实现。" target="_blank">Socket编程 基本的聊天实现。</a> <span class="text-muted">alleni123</span> <a class="tag" taget="_blank" href="/search/socket/1.htm">socket</a> <div>public class Server { //用来存储所有连接上来的客户 private List<ServerThread> clients; public static void main(String[] args) { Server s = new Server(); s.startServer(9988); } publi</div> </li> <li><a href="/article/1196.htm" title="多线程监听器事件模式(一个简单的例子)" target="_blank">多线程监听器事件模式(一个简单的例子)</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/%E7%BA%BF%E7%A8%8B/1.htm">线程</a><a class="tag" taget="_blank" href="/search/%E7%9B%91%E5%90%AC%E6%A8%A1%E5%BC%8F/1.htm">监听模式</a> <div>    多线程的事件监听器模式   监听器时间模式经常与多线程使用,在多线程中如何知道我的线程正在执行那什么内容,可以通过时间监听器模式得到        创建多线程的事件监听器模式 思路:    1, 创建线程并启动,在创建线程的位置设置一个标记     2,创建队</div> </li> <li><a href="/article/1323.htm" title="spring InitializingBean接口" target="_blank">spring InitializingBean接口</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>spring的事务的TransactionTemplate,其源码如下: public class TransactionTemplate extends DefaultTransactionDefinition implements TransactionOperations, InitializingBean{ ... } TransactionTemplate继承了DefaultT</div> </li> <li><a href="/article/1450.htm" title="Oracle中询表的权限被授予给了哪些用户" target="_blank">Oracle中询表的权限被授予给了哪些用户</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E6%9D%83%E9%99%90/1.htm">权限</a> <div>        Oracle查询表将权限赋给了哪些用户的SQL,以备查用。 select t.table_name as "表名", t.grantee as "被授权的属组", t.owner as "对象所在的属组"</div> </li> <li><a href="/article/1577.htm" title="【Struts2五】Struts2 参数传值" target="_blank">【Struts2五】Struts2 参数传值</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/struts2/1.htm">struts2</a> <div>Struts2中参数传值的3种情况 1.请求参数绑定到Action的实例字段上 2.Action将值传递到转发的视图上 3.Action将值传递到重定向的视图上   一、请求参数绑定到Action的实例字段上以及Action将值传递到转发的视图上 Struts可以自动将请求URL中的请求参数或者表单提交的参数绑定到Action定义的实例字段上,绑定的规则使用ognl表达式语言</div> </li> <li><a href="/article/1704.htm" title="【Kafka十四】关于auto.offset.reset[Q/A]" target="_blank">【Kafka十四】关于auto.offset.reset[Q/A]</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/kafka/1.htm">kafka</a> <div>I got serveral questions about  auto.offset.reset. This configuration parameter governs how  consumer read the message from  Kafka when  there is no initial offset in ZooKeeper or </div> </li> <li><a href="/article/1831.htm" title="nginx gzip压缩配置" target="_blank">nginx gzip压缩配置</a> <span class="text-muted">ronin47</span> <a class="tag" taget="_blank" href="/search/nginx+gzip+%E5%8E%8B%E7%BC%A9%E8%8C%83%E4%BE%8B/1.htm">nginx gzip 压缩范例</a> <div>nginx gzip压缩配置 更多 0 nginx gzip 配置   随着nginx的发展,越来越多的网站使用nginx,因此nginx的优化变得越来越重要,今天我们来看看nginx的gzip压缩到底是怎么压缩的呢? gzip(GNU-ZIP)是一种压缩技术。经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用</div> </li> <li><a href="/article/1958.htm" title="java-13.输入一个单向链表,输出该链表中倒数第 k 个节点" target="_blank">java-13.输入一个单向链表,输出该链表中倒数第 k 个节点</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>two cursors. Make the first cursor go K steps first. /* * 第 13 题:题目:输入一个单向链表,输出该链表中倒数第 k 个节点 */ public void displayKthItemsBackWard(ListNode head,int k){ ListNode p1=head,p2=head; </div> </li> <li><a href="/article/2085.htm" title="Spring源码学习-JdbcTemplate queryForObject" target="_blank">Spring源码学习-JdbcTemplate queryForObject</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>JdbcTemplate中有两个可能会混淆的queryForObject方法: 1. Object queryForObject(String sql, Object[] args, Class requiredType) 2. Object queryForObject(String sql, Object[] args, RowMapper rowMapper) 第1个方法是只查</div> </li> <li><a href="/article/2212.htm" title="[冰川时代]在冰川时代,我们需要什么样的技术?" target="_blank">[冰川时代]在冰川时代,我们需要什么样的技术?</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E6%8A%80%E6%9C%AF/1.htm">技术</a> <div>      看美国那边的气候情况....我有个感觉...是不是要进入小冰期了?      那么在小冰期里面...我们的户外活动肯定会出现很多问题...在室内呆着的情况会非常多...怎么在室内呆着而不发闷...怎么用最低的电力保证室内的温度.....这都需要技术手段...   &nb</div> </li> <li><a href="/article/2339.htm" title="js 获取浏览器型号" target="_blank">js 获取浏览器型号</a> <span class="text-muted">cuityang</span> <a class="tag" taget="_blank" href="/search/js/1.htm">js</a><a class="tag" taget="_blank" href="/search/%E6%B5%8F%E8%A7%88%E5%99%A8/1.htm">浏览器</a> <div>根据浏览器获取iphone和apk的下载地址 <!DOCTYPE html> <html> <head>     <meta charset="utf-8" content="text/html"/>     <meta name=</div> </li> <li><a href="/article/2466.htm" title="C# socks5详解 转" target="_blank">C# socks5详解 转</a> <span class="text-muted">dalan_123</span> <a class="tag" taget="_blank" href="/search/socket/1.htm">socket</a><a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a> <div>http://www.cnblogs.com/zhujiechang/archive/2008/10/21/1316308.html  这里主要讲的是用.NET实现基于Socket5下面的代理协议进行客户端的通讯,Socket4的实现是类似的,注意的事,这里不是讲用C#实现一个代理服务器,因为实现一个代理服务器需要实现很多协议,头大,而且现在市面上有很多现成的代理服务器用,性能又好,</div> </li> <li><a href="/article/2593.htm" title="运维 Centos问题汇总" target="_blank">运维 Centos问题汇总</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/%E4%BA%91%E4%B8%BB%E6%9C%BA/1.htm">云主机</a> <div>一、sh 脚本不执行的原因 sh脚本不执行的原因 只有2个 1.权限不够 2.sh脚本里路径没写完整。   二、解决You have new mail in /var/spool/mail/root 修改/usr/share/logwatch/default.conf/logwatch.conf配置文件 MailTo = MailFrom   三、查询连接数</div> </li> <li><a href="/article/2720.htm" title="Yii防注入攻击笔记" target="_blank">Yii防注入攻击笔记</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/WEB%E5%AE%89%E5%85%A8/1.htm">WEB安全</a><a class="tag" taget="_blank" href="/search/yii/1.htm">yii</a> <div>网站表单有注入漏洞须对所有用户输入的内容进行个过滤和检查,可以使用正则表达式或者直接输入字符判断,大部分是只允许输入字母和数字的,其它字符度不允许;对于内容复杂表单的内容,应该对html和script的符号进行转义替换:尤其是<,>,',"",&这几个符号 这里有个转义对照表: http://blog.csdn.net/xinzhu1990/articl</div> </li> <li><a href="/article/2847.htm" title="MongoDB简介[一]" target="_blank">MongoDB简介[一]</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/MongoDB%E7%AE%80%E4%BB%8B/1.htm">MongoDB简介</a> <div>MongoDB简介 转载请出自出处:http://eksliang.iteye.com/blog/2173288 1.1易于使用        MongoDB是一个面向文档的数据库,而不是关系型数据库。与关系型数据库相比,面向文档的数据库不再有行的概念,取而代之的是更为灵活的“文档”模型。        另外,不</div> </li> <li><a href="/article/2974.htm" title="zookeeper windows 入门安装和测试" target="_blank">zookeeper windows 入门安装和测试</a> <span class="text-muted">greemranqq</span> <a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E8%A3%85/1.htm">安装</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a> <div>一、序言       以下是我对zookeeper 的一些理解:      zookeeper 作为一个服务注册信息存储的管理工具,好吧,这样说得很抽象,我们举个“栗子”。       栗子1号:       假设我是一家KTV的老板,我同时拥有5家KTV,我肯定得时刻监视</div> </li> <li><a href="/article/3101.htm" title="Spring之使用事务缘由(2-注解实现)" target="_blank">Spring之使用事务缘由(2-注解实现)</a> <span class="text-muted">ihuning</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>  Spring事务注解实现   1. 依赖包:     1.1 spring包:           spring-beans-4.0.0.RELEASE.jar           spring-context-4.0.0.</div> </li> <li><a href="/article/3228.htm" title="iOS App Launch Option" target="_blank">iOS App Launch Option</a> <span class="text-muted">啸笑天</span> <a class="tag" taget="_blank" href="/search/option/1.htm">option</a> <div>iOS 程序启动时总会调用application:didFinishLaunchingWithOptions:,其中第二个参数launchOptions为NSDictionary类型的对象,里面存储有此程序启动的原因。   launchOptions中的可能键值见UIApplication Class Reference的Launch Options Keys节 。 1、若用户直接</div> </li> <li><a href="/article/3355.htm" title="jdk与jre的区别(_)" target="_blank">jdk与jre的区别(_)</a> <span class="text-muted">macroli</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a> <div>简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。  JDK就是Java Development Kit JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。 如果安装了JDK,会发同你</div> </li> <li><a href="/article/3482.htm" title="Updates were rejected because the tip of your current branch is behind" target="_blank">Updates were rejected because the tip of your current branch is behind</a> <span class="text-muted">qiaolevip</span> <a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E6%B0%B8%E6%97%A0%E6%AD%A2%E5%A2%83/1.htm">学习永无止境</a><a class="tag" taget="_blank" href="/search/%E6%AF%8F%E5%A4%A9%E8%BF%9B%E6%AD%A5%E4%B8%80%E7%82%B9%E7%82%B9/1.htm">每天进步一点点</a><a class="tag" taget="_blank" href="/search/%E4%BC%97%E8%A7%82%E5%8D%83%E8%B1%A1/1.htm">众观千象</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a> <div>$ git push joe prod-2295-1 To git@git.dianrong.com:joe.le/dr-frontend.git ! [rejected] prod-2295-1 -> prod-2295-1 (non-fast-forward) error: failed to push some refs to 'git@git.dianron</div> </li> <li><a href="/article/3609.htm" title="[一起学Hive]之十四-Hive的元数据表结构详解" target="_blank">[一起学Hive]之十四-Hive的元数据表结构详解</a> <span class="text-muted">superlxw1234</span> <a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a><a class="tag" taget="_blank" href="/search/hive%E5%85%83%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">hive元数据结构</a> <div>关键字:Hive元数据、Hive元数据表结构   之前在 “[一起学Hive]之一–Hive概述,Hive是什么”中介绍过,Hive自己维护了一套元数据,用户通过HQL查询时候,Hive首先需要结合元数据,将HQL翻译成MapReduce去执行。 本文介绍一下Hive元数据中重要的一些表结构及用途,以Hive0.13为例。   文章最后面,会以一个示例来全面了解一下,</div> </li> <li><a href="/article/3736.htm" title="Spring 3.2.14,4.1.7,4.2.RC2发布" target="_blank">Spring 3.2.14,4.1.7,4.2.RC2发布</a> <span class="text-muted">wiselyman</span> <a class="tag" taget="_blank" href="/search/Spring+3/1.htm">Spring 3</a> <div>  Spring 3.2.14、4.1.7及4.2.RC2于6月30日发布。   其中Spring 3.2.1是一个维护版本(维护周期到2016-12-31截止),后续会继续根据需求和bug发布维护版本。此时,Spring官方强烈建议升级Spring框架至4.1.7 或者将要发布的4.2 。   其中Spring 4.1.7主要包含这些更新内容。 </div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>