Bootstrap-Table 表格插件
Bootstrap-Table 表格插件
JS 插件文档库邀你一起协同创作 -
Bootstrap-Table
Bootstrap table 是一款基于 Bootstrap 的 jQuery 表格插件,功能比较完备,能够实现数据异步获取,编辑,排序等一系列功能,最可贵的是,只需要一些简单的配置就可以实现一个功能完备的在线表格。
1. 准备
不同于tabledit
,Bootstrap-Table
是提供异步获取数据功能的,这里的准备工作暂不用管前台页面结构。因为前台页面结构中的表格,只需要一句代码就解决了:
我们要关心的是,正确的引入Bootstrap Table的相关文件,功能越完备意味着,需要加载的第三方库越多。
首先关注3个文件,dist
目录下的bootstrap-table.css
、bootstrap-table.js
,如果使用中文,还要引用locale/bootstrap-table-zh-CN.js
,注意每个文件均提供了min版本以及正常版本,建议在开发测试阶段引入正常版本,便于调试。 当然最后不要忘了引入bootstrap
以及jQuery
的文件,最终效果如下:
js文件建议放到页面最底下,在
之前引入即可,如下所示:
注意:1. 顺序不要乱;2. 根目录依据自己项目而定
2. 初步使用
前台放一个table标签即可,表格的结构,甚至于表格的操作都放到JS中实现,如下代码即可生成一个表格:
$('#table').bootstrapTable({
url: '/json/data.json', // 表格数据来源
columns: [{
field: 'id',
title: 'Item ID'
}, {
field: 'name',
title: 'Item Name'
}, {
field: 'price',
title: 'Item Price'
},{
field: 'column1',
title: '列1'
},{
field: 'column2',
title: '列2'
},{
field: 'column3',
title: '列3'
},{
field: 'column4',
title: '列4'
} ]
});
url中定义了表格的数据来源,返回数据的格式依然是包含数据对象的数组 ,这点不再赘述。由于该框架提供的参数比较多,而实际项目并用不着这么多配置,这里给出,我建议的一个方案,供参考。
右上角的一些功能,通过配置一些参数即可实现,无需多余的代码。这个查看官方文档,基本没有什么问题,这里不多介绍了。
左上角是一些自定义的一些功能,这里有添加数据,筛选数据(本地&异步),再加上编辑数据,基本就完成了表格的增删改查需求,这个我在后面会一一介绍。
3. 功能实现
在这里,我会介绍在实际项目中要用到的一些实用功能点。主要分为:添加,导出,筛选,搜索,编辑以及删除。
(1)添加功能
根据一些实际项目的经验,采用弹出模态框的方式,是最优雅的添加方式。如下图所示:
这个是bootstrap
自带的一个插件,直接引入页面中即可,至于表单的提交方式是采用form原生提交,还是使用ajax异步提交,就取决于你的喜好了。这块内容不在文章范围内,就不多介绍了。
需要注意的是:假如你采用的是ajax异步提交表单,那么就需要调用bootstrap-table
的refresh方法,用来更新表格数据。
$('#table').bootstrapTable('refresh');
(2)导入功能
每次在做信息化类项目的时候,导出功能是我最不愿意去做,但也必须要实现的功能。不愿做并不是因为很难实现,这是一个原则问题,信息化就是为了减少或是废除线下操作,然而在传统企业却根本行不通,因为不管你的用户体验做得有多好,也改变不了用户「不愿尝试改变」的劣根性。
Bootstrap-Table
提供了导出扩展模块,简单配置就可以轻松实现导出功能。首先需要引入两个文件,一个是Bootstrap-Table
中extensions
中的bootstrap-table-export
扩展;另一个是tableExport的插件。效果如下:
引入扩展文件后,在表格参数中加入如下一句配置即可:
showExport: true
(3)筛选功能
这个是在线表格最重要的功能之一。因为我们不可能一次性将后台所有数据都拉到前台展示。如果你之前使用过Bootstrap-Table
,你可能知道它提供了一个sidePagination
的参数,这个参数是定义在哪里进行分页,可选值为 client
或者 server
。默认为client
,当你设置为 server
时,每次请求后台服务器,都会加上limit, offset, search, sort, order这几个参数,传到后台让你去处理数据分页。
这里我想告诉你,完全没有必要这么麻烦,实际项目中,我们都是通过参数条件,筛选一部分数据展示到前台。所以你定义好默认的参数就可以了,分页的事就交给前端处理即可。那么参数如何自定义呢?使用queryParams
表格参数即可。举个例子:
queryParams: function(params){
return {
startDate: '2018/09/01',
endDate: '2019/09/01'
};
},
查看Chrome Network请求,可以看出传递参数情况。
通过上述自定义参数方式,就可以筛选部分数据到前台,然后通过配置分页参数就可以实现筛选功能了。那么一般设置什么参数筛选呢?其实就是想问一次性筛选多少条数据最合适呢?我的建议是在500以内,这样既方便处理数据,也不会太影响性能。
前台分页的好处,主要体现在搜索这块,完全不用自己去实现代码,简单配置搜索框即可,而且提供的是全局搜索,很强大了。如果想配置个本地筛选也是很方便的,使用resetSearch
方法即可。
// 本地筛选
$('#localFilter li a').click(function(e){
e.preventDefault();
var filter = $(this).data('filter');
$table.bootstrapTable('resetSearch', filter);
});
有时候,我还是想要从后台筛选部分数据,通过前台表单,使用 refresh
方法即可。
// 异步筛选
$('#Filter').submit(function(e){
e.preventDefault();
var filter = $('input[name=filter]').val();
$table.bootstrapTable('refresh',{
query: {
startDate: '2001/09/01',
endDate: '2008/09/01',
filter: filter
}
});
});
筛选功能就到这,这里只是介绍了参数传递的方法,具体筛选,还需要结合后台代码去实现。
(4)搜索功能
搜索分为前台搜索以及后台搜索。
前台搜索:学会使用5个表格参数(search、searchOnEnterKey、searchText、trimOnSearch、customSearch(自定义搜索)),2个列参数(searchable、searchFormatter),1个方法(resetSearch)即可
后台搜索,就类似于筛选功能的传参了,在后台处理字符串,返回表格数据,此不在本文范围内,不多赘述。
(5)编辑功能
在线表格的编辑,其实是最不好处理的一个功能。一方面,添加编辑功能需要增加很多额外的代码量;另一方面,从业务上来讲,编辑并不是一个好的用户体验。在做编辑功能之前,我总是问自己,这块功能真的需要编辑吗?删除了重新添加行不行?
Bootstrap-Table
提供了editable
编辑模块,简单配置即可实现表格的编辑,但是我还是想要提醒,使用编辑功能需要有节制,越自由并不代表用户体验越好。
还是老套路,引入3个文件(其中:1个css,2个js):
引入之后,直接在列参数上加上editable: true
,即可启用该字段的标记功能,效果图如下:
样式没有问题后,接下来看看如何使用,使用方法完全沿用了X-editable
插件,bootstrap-table-editable
仅仅只是做了嵌入的工作,所以你需要查看X-editable
的文档,这里我举个简单的例子介绍一下,如下为其中一列的参数设置:
{
field: 'column2',
title: '列2',
editable: {
url: '/test',
},
}
url
参数用来异步访问后台,那么传递的参数有哪些呢?
pk
在X-editable
中定义为主键,在Bootstrap-Table
中,通过设置表格参数idField: 'id'
,可以定义行数据的主键。若改成idField: 'name'
,再来看下:
明白了如何传参数,相信你就知道后面如何处理了。
(6)删除功能
介绍完编辑功能,不知道你有没有发现,假如我们要编辑的字段非常多,这种处理方式会给后台造成很大的工作量,能不能一个表单就解决编辑需求呢?当然是可以的。
我们在每一行的最后加上一列,放上一些功能按钮,如下图:
在columns
表格参数中,加上一列如下:
{
field: 'operator',
title: '操作',
align: 'center',
valign: 'middle',
width: '10%',
// visible: false,
formatter: function (value, row, index) {
// var sid_code = base64encode(row.sid + ''); // sid 加密处理
// alert(sid_code);
return '' +
' ' +
' '+
'' +
' ' +
' '+
'' +
' ' +
' ';
},
events: {
'click a[title=删除]': function (e, value, row, index) {
if(confirm('此操作不可逆,请确认是否删除?')){
$.ajax();
}
},
'click a[title=修改]': function (e, value, row, index) {
// e.preventDefault();
alert('click change button');
},
}
}
4个参数分别是:
event: the jQuery event.
value: the field value.
row: the row record data.
index: the row index.
相信看完这个示例,就能一并解决「查看」「编辑」「删除」等功能。Bootstrap-Table
的使用就介绍到这里了,官方文档里还有好多参数以及方法没有介绍到,篇幅有限就不再介绍了,需自行查看文档学习。
更多Chat...
你可能感兴趣的:(Bootstrap-Table 表格插件)
Android和IOS应用开发-Flutter应用让屏幕在 app 运行期间保持常亮的方法
江上清风山间明月
Flutter android ios flutter KeepAlive 屏幕常亮 wakelock 熄屏
文章目录Flutter应用让屏幕在app运行期间保持常亮的方法方法一:使用系统插件方法二:使用Widgets注意事项Flutter应用让屏幕在app运行期间保持常亮的方法在Flutter开发中,可以使用以下两种方法让屏幕在app运行期间保持常亮:方法一:使用系统插件Flutter社区中已经有很多相关插件可供使用,比如wakelock:https://pub.dev/packages/wakeloc
lodash插件
吃我一锅
一些插件
安装npminstalllodash引入importorderByfrom'lodash/orderBy'使用orderBy(要排序的变量,要排序的字段,升序还是降序)//例如,评论按照点赞数量排序orderBy(lilst,'like','desc')
ES-LTR粗排模块
poins
jenkins 运维
ES-LTR粗排模块官方资源:https://github.com/HeiBoWang/elasticsearch-learning-to-rankElasticsearch学习排名插件使用机器学习提高搜索相关性排名。它为维基媒体基金会和Snagajob等地方的搜索提供了动力!这个插件有什么功能此插件:允许您在Elasticsearch中存储特征(Elasticsearch查询模板)记录特征得分(
Ai插件脚本合集安装包,免费教程视频网盘分享
全网优惠分享君
随着人工智能技术的不断发展,越来越多的插件脚本涌现出来,为我们的生活和工作带来了便利。然而,如何快速、方便地获取和使用这些插件脚本呢?今天,我将为大家分享一个非常实用的资源——AI插件脚本合集安装包,以及免费教程视频网盘分享。首先,让我们来了解一下这个AI插件脚本合集安装包。它是一个集合了众多AI插件脚本的资源包,涵盖了各种领域,如数据分析、自动化办公、智能客服等等。通过这个安装包,用户可以轻松地
flutter boost 如何从native跳转到flutter页面
Icarus_
flutter flutter
FlutterBoost是一个Flutter插件,它可以帮助开发者在原生应用和Flutter应用之间无缝跳转。以下是一些基本步骤,展示了如何使用FlutterBoost从原生(Native)页面跳转到Flutter页面。1.配置FlutterBoost在你的Flutter项目中集成FlutterBoost插件。这通常涉及到修改`pubspec.yaml`文件来添加依赖项,并根据FlutterBoo
eclipse导入项目 warning报错 org.springframework.ide.eclipse.core.springnature
zhangfeng1133
ide eclipse java
报错org.springframework.ide.eclipse.core.springnature报错信息"org.springframework.ide.eclipse.core.springnature"通常表示EclipseIDE中与Spring框架集成的插件出现了问题。这个错误可能是因为SpringIDE插件没有正确安装或配置,或者Eclipse的更新过程中出现了问题。解决方法:确认S
使用Python读取Excel文件并计算平均分
嘻嘻爱编码
Python从入门到放弃 python excel 开发语言
在这篇博客中,我们将探讨如何使用Python的pandas库来读取Excel文件,并计算其中数据的平均分。pandas是一个强大的数据分析工具,它允许我们以简单直观的方式处理表格数据。安装必要的库在开始之前,确保你的环境中安装了pandas和openpyxl库。可以使用以下命令进行安装:pipinstallpandasopenpyxl读取Excel文件首先,我们需要读取Excel文件。假设我们有一
python项目练习——7.网站访问日志分析器
F——
python项目练习 python 信息可视化 数据分析 数据挖掘 开发语言 学习
项目功能分析:这个项目可以读取网站的访问日志文件,统计访问量、独立访客数、访问来源等信息,并以图表或表格的形式展示出来。这个项目涉及到文件操作、数据处理、数据可视化等方面的技术。示例代码:importrefromcollectionsimportCounterimportmatplotlib.pyplotaspltdefparse_log_file(log_file):#读取日志文件内容witho
时间管理训练营第六期作业:通过excell表格记录,你有什么体会?
三味淑屋
作业没有记录就没有发生。记录,你才能够在时光的隧道里发现许多光,看到更多希望!作业1、你专注在哪里,你就会在哪里出成果。这三天的时间盘点,虽然今天还没结束,但是基本上都是按照平时的安排来进行。记录的过程中,会看到自己的时间花在哪。今年在个人成长的维度上,会看到这一块时间相对别的板块比较多,在娱乐休闲与朋友关系上的时间比较少,需要提醒自己要在时间上再做一些分配,让自己的工作和生活更平衡些。当然,这个
Pytest 自定义HOOK函数
咖啡加剁椒④
软件测试 pytest python 开发语言 软件测试 功能测试 自动化测试 程序人生
除了系统提过的HOOK函数外,也可以通过自定义HOOK的方式实现想要的功能。首先创建一个py文件,里面定义自己的HOOK函数,主要pytest里面的hook函数必须以pytest开头。#myhook.pydefpytest_myhook(user):"""自定义HOOK函数"""defpytest_myhook2():"""自定义HOOK函数"""其次创建自己的插件类,user类的重写__init
html版本号 webpack_html-webpack-plugin详解
weixin_39994949
html版本号 webpack
引言最近在react项目中初次用到了html-webapck-plugin插件,用到该插件的两个主要作用:为html文件中引入的外部资源如script、link动态添加每次compile后的hash,防止引用缓存的外部文件问题可以生成创建html入口文件,比如单页面可以生成一个html文件入口,配置N个html-webpack-plugin可以生成N个页面入口有了这种插件,那么在项目中遇到类似上面
RockyLinux8 & RockyLinux9安装postgresql16-devel开发包
ynzhangyao
postgresql
1、PG的插件扩展有些需要自行编译,需要安装PG开发包2、RockyLinux8安装#创建用户先useraddpostgressudodnfinstall-yhttps://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpmsudodnf-qymoduledisa
webpack快速基础
风漫漫雨歇歇
webpack webpack 前端 前端框架
文章目录webpack快速基础1.概念1.1入口1.2输出(output)1.3loader1.4插件(plugin)2.建立项目,用于测试功能2.1安装webpack,2.2创建webpack配置文件,2.3配置package.json,运行项目3.配置mode开发环境4.配置entry编译入口5.配置output编译出口6.配置加载csswebpack快速基础1.概念webpack是现代Jav
强大的文本编辑器:Sublime Text for Mac注册激活版
macw_q
后端
SublimeTextforMac是一款功能强大的文本编辑器,特别适合程序员和开发者使用。它提供了丰富的功能,如智能代码补全、语法高亮、自定义快捷键、项目管理、多行选择、自动保存等,以提高代码编写效率和舒适度。此外,SublimeText还支持插件扩展,用户可以根据自己的需求安装各种插件,进一步增强编辑器的功能。软件下载:SublimeTextforMac注册激活版下载在Mac上使用Sublime
MyBatis面试专题
XMYX-0
面试 mybatis 面试 职场和发展
文章目录什么是MyBatis?讲下MyBatis的缓存一级缓存二级缓存Mybatis是如何进行分页的?分页插件的原理是什么?分页插件的原理举例说明简述Mybatis的插件运行原理,以及如何编写一个插件?插件运行原理编写一个插件的基本步骤Mybatis动态sql是做什么的?都有哪些动态sql?能简述一下动态sql的执行原理不?动态SQL的执行原理#{}和${}的区别是什么?为什么说Mybatis是半
idea中常见快捷键及插件操作
程序员老石
intellij-idea java ide
1、双击shift【万能】(1)输入pull,回车可以更新代码(2)输入commit,回车可以提交代码(3)输入history,可以查看提交记录(4)输入break,回车可以查看所有断点(5)输入类名,方法名,url地址都可以检索到2、安装EasyJavadoc插件(1)在方法上ctrl+\,自动生成方法的注释信息;(2)在类上ctrl+shift+\,自动生成类相关的注释信息3、安装Mybati
vue-pdf 预览pdf (数据流)
reembarkation
vue.js pdf javascript
页面有个要预览pdf的需求,数据是从后台传递过来的数据流:1.安装插件:npminstallvue-pdf2.在页面引用:importpdffrom'vue-pdf'...components:{pdf},3.html中添加:4.通过接口获取数据:downloadFile({id:this.id}).then((res)=>{if((!res&&res.status!=200)||(res.dat
elasticsearch同步mysql数据库神器之go-mysql-elasticsearch
强哥的博客
数据库
go-mysql-elasticsearch是国内作者开发的一款插件。测试表明:该插件优点:能实现同步增、删、改、查操作。不足之处(待完善的地方):1、日志不是很详细,但是能满足基本需求;2、初始化时,无法自动同步mysql中存在的以前的数据,需要自行解决初始导入(如重建索引批量导入)go-mysql-elasticsearch安装步骤1:安装goyuminstallgo步骤2:安装godepgo
MQ横向对比:RocketMQ、Kafka、RabbitMQ、ActiveMQ、ZeroMQ
namelessmyth
Java框架 MQ rocketmq kafka rabbitmq activemq
前言本文将从多个角度全方位对比目前比较常用的几个MQ:RocketMQKafkaRabbitMQActiveMQZeroMQ下文单独说明。表格对比特性RocketMQKafkaRabbitMQActiveMQ单机吞吐量10万级,支撑高吞吐10万级以上,甚至有文献称,可以达到单机百万级TPS。万级,同ActiveMQ万级,相对其他MQ较低。topic数量对吞吐量的影响topic可以达到几百/几千的级
开发chrome扩展( 禁止指定域名使用插件)
徐同保
chrome 前端
mainfest.json:{"manifest_version":3,"name":"ChatGPT学习","version":"0.0.2","description":"ChatGPT,GPT-4,Claude3,Midjourney,StableDiffusion,AI,人工智能,AI","icons":{"16":"./images/logo.png","48":"./images/lo
每天进步一点点,坚持带来大改变
海到尽头
前段时间在隔离点上班的时候,有许多的工作需要用到Excel表格。可因为平时没怎么用,偶尔用一下,也没有太认真去学习,有时候同事问到我,我也直接说不会。心里想着,反正都这么大年龄了,懒得再去多学点什么,就这样混一天算一天吧!直到这次外出工作,才发现啥都不会的尴尬。虽然有更年轻的同事会做这些,虽然不会正好可以不用做,可实在不是我一贯的工作作风。我喜欢自己有能力在短时间内胜任别人交给我的所有工作的感觉。
ppt插件构思
溢彩风华
powerpoint
功能:1.编辑代码2.代码运行3.代码检查4.代码格式化5.运行简单的可视化、游戏化、交互式这是一个针对PPT(MicrosoftPowerPoint)的插件概念描述,该插件旨在提升PPT在演示编程相关内容时的功能丰富度。以下是这个插件的主要功能点:编辑代码:用户可以在PPT内部直接编写和修改代码片段,无需跳转到外部IDE(集成开发环境),方便快捷地展示编程过程或示例。代码运行:插件具备执行所编辑
拖拽插件的使用(vue-draggable-resizable)
Nancy哇
笔记 vue.js javascript 前端
拖拽功能使用插件(vue-draggable-resizable)用于可拖动和可调整大小元素的Vue2组件。1.使用-安装插件依赖npminstall--savevue-draggable-resizable-在项目中引用importVueDraggableResizablefrom"vue-draggable-resizable";exportdefault{components:{VueDra
WordPress Plugin NotificationX插件 SQL注入漏洞复现(CVE-2024-1698)
OidBoy_G
漏洞复现 sql web安全 安全
0x01产品简介WordPress和WordPressplugin都是WordPress基金会的产品。WordPress是一套使用PHP语言开发的博客平台。该平台支持在PHP和MySQL的服务器上架设个人博客网站。0x02漏洞概述WordPresspluginNotificationX是一个应用插件。2.8.2版本及之前存在安全漏洞,该漏洞源于对用户提供的参数转义不充分以及对现有SQL查询缺乏充分
vite和webpack的区别
小王学前端️
vue3 webpack 前端 javascript
vite和webpack的区别从底层原理上来说,Vite是基于esbuild预构建依赖。而esbuild是采用go语言编写,因为go语言的操作是纳秒级别,而js是以毫秒计数,所以vite比用js编写的打包器快10-100倍。Vite和Webpack都是现代前端开发中的常见打包工具,但在实际使用过程中,它们存在五个主要区别:1.开发模式不同;2.打包效率不同;3.插件生态不同;4.配置复杂度不同;5
vue+elementUI实现右击指定表格列的单元格显示选择框
yuhuamei
vue.js elementui 前端
一、template代码如下:1、表格单元格中添加的代码:{{scope.row[item.prop]}}2、右键时弹出的选择框代码选择铁心级号全选显示-->隐藏js代码如下://铁心级号选择时handleCheckedChange:function(val){letcheckedCount=val.length;this.checkAll=checkedCount===this.coreLeve
解析Excel数据如虎添翼:Excel数据监听器助你快速解析数据,轻松驾驭业务需求,一键解析,风云再起,数据处理从未如此简单,事半功倍
吃海的虾酱
技术问题 excel linux java maven guava spring cloud intellij-idea
以下代码是一个Excel数据监听器,用于监听和处理Excel数据的读取事件。它实现了AnalysisEventListener接口,并重写了其中的方法。以下是代码中的主要部分:1、整体解读在使用EasyExcel读取Excel文件时,如果没有指定表头所在的行数,EasyExcel会默认根据内容进行智能识别,尝试找到表头所在的行。invokeHead方法:在解析Excel表格的表头时触发的回调方法。
html行内元素(内联元素),块级元素分别有哪些?
王 歪歪
基础知识 html 前端
html行内元素(内联元素),块级元素分别有哪些?常用的分类包括行内元素(内联元素)和块级元素。下面是它们的示例列表:行内元素(InlineElements):内联元素(InlineElements)是行内元素的另一个术语,它们的行为和显示方式与行内元素相似。块级元素(Block-levelElements):到标题和列表列表项表格表单、、等语义化元素、、等语义化元素块级元素在默认情况下会在新行上
HTML 学习笔记(十)块和内联
Leisureconfused
HTML html 学习 笔记
每个HTML元素都有一个默认的显示值,显示值又可以再分为block(块)和inline(内联)一、块元素通过F12进入浏览器开发者模式查看该元素会发现其所占宽度为整个网页的宽度1.div标签通过div标签将一些元素装进"盒子",从而对盒子中的全部元素进行相同的操作table标题第一段第二段2.常见的块元素table块级元素标题元素段落元素列表元素表格元素分块元素h1-h6pol,li,ul,dl,
Pandas教程15:多个DataFrame数据(保存+追加)为Excel表格数据
我的Python教程
我的Python教程 # Pandas pandas excel Python教程
---------------pandas数据分析集合---------------Python教程71:学习Pandas中一维数组SeriesPython教程74:Pandas中DataFrame数据创建方法及缺失值与重复值处理Pandas数据化分析,DataFrame行列索引数据的选取,增加,修改和删除操作Pandas教程05:DataFrame数据常用属性和方法汇总Pandas教程06:Da
Nginx负载均衡
510888780
nginx 应用服务器
Nginx负载均衡一些基础知识:
nginx 的 upstream目前支持 4 种方式的分配
1)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight
指定轮询几率,weight和访问比率成正比
RedHat 6.4 安装 rabbitmq
bylijinnan
erlang rabbitmq redhat
在 linux 下安装软件就是折腾,首先是测试机不能上外网要找运维开通,开通后发现测试机的 yum 不能使用于是又要配置 yum 源,最后安装 rabbitmq 时也尝试了两种方法最后才安装成功
机器版本:
[root@redhat1 rabbitmq]# lsb_release
LSB Version: :base-4.0-amd64:base-4.0-noarch:core
FilenameUtils工具类
eksliang
FilenameUtils common-io
转载请出自出处:http://eksliang.iteye.com/blog/2217081 一、概述
这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。 非常的好用。
xml文件解析SAX
不懂事的小屁孩
xml
xml文件解析:xml文件解析有四种方式,
1.DOM生成和解析XML文档(SAX是基于事件流的解析)
2.SAX生成和解析XML文档(基于XML文档树结构的解析)
3.DOM4J生成和解析XML文档
4.JDOM生成和解析XML
本文章用第一种方法进行解析,使用android常用的DefaultHandler
import org.xml.sax.Attributes;
通过定时任务执行mysql的定期删除和新建分区,此处是按日分区
酷的飞上天空
mysql
使用python脚本作为命令脚本,linux的定时任务来每天定时执行
#!/usr/bin/python
# -*- coding: utf8 -*-
import pymysql
import datetime
import calendar
#要分区的表
table_name = 'my_table'
#连接数据库的信息
host,user,passwd,db =
如何搭建数据湖架构?听听专家的意见
蓝儿唯美
架构
Edo Interactive在几年前遇到一个大问题:公司使用交易数据来帮助零售商和餐馆进行个性化促销,但其数据仓库没有足够时间去处理所有的信用卡和借记卡交易数据
“我们要花费27小时来处理每日的数据量,”Edo主管基础设施和信息系统的高级副总裁Tim Garnto说道:“所以在2013年,我们放弃了现有的基于PostgreSQL的关系型数据库系统,使用了Hadoop集群作为公司的数
spring学习——控制反转与依赖注入
a-john
spring
控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心。 控制反转一般分为两种类型,依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)。依赖注入应用比较广泛。
用spool+unixshell生成文本文件的方法
aijuans
xshell
例如我们把scott.dept表生成文本文件的语句写成dept.sql,内容如下:
set pages 50000;
set lines 200;
set trims on;
set heading off;
spool /oracle_backup/log/test/dept.lst;
select deptno||','||dname||','||loc
1、基础--名词解析(OOA/OOD/OOP)
asia007
学习基础知识
OOA:Object-Oriented Analysis(面向对象分析方法)
是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。
OOA(面向对象的分析)模型由5个层次(主题层、对象类层、结构层、属性层和服务层)
浅谈java转成json编码格式技术
百合不是茶
json编码 java转成json编码
json编码;是一个轻量级的数据存储和传输的语言
在java中需要引入json相关的包,引包方式在工程的lib下就可以了
JSON与JAVA数据的转换(JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非
常适合于服务器与 JavaScript 之间的数据的交
web.xml之Spring配置(基于Spring+Struts+Ibatis)
bijian1013
java web.xml SSI spring配置
指定Spring配置文件位置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring-dao-bean.xml,/WEB-INF/spring-resources.xml,
/WEB-INF/
Installing SonarQube(Fail to download libraries from server)
sunjing
Install Sonar
1. Download and unzip the SonarQube distribution
2. Starting the Web Server
The default port is "9000" and the context path is "/". These values can be changed in &l
【MongoDB学习笔记十一】Mongo副本集基本的增删查
bit1129
mongodb
一、创建复本集
假设mongod,mongo已经配置在系统路径变量上,启动三个命令行窗口,分别执行如下命令:
mongod --port 27017 --dbpath data1 --replSet rs0
mongod --port 27018 --dbpath data2 --replSet rs0
mongod --port 27019 -
Anychart图表系列二之执行Flash和HTML5渲染
白糖_
Flash
今天介绍Anychart的Flash和HTML5渲染功能
HTML5
Anychart从6.0第一个版本起,已经逐渐开始支持各种图的HTML5渲染效果了,也就是说即使你没有安装Flash插件,只要浏览器支持HTML5,也能看到Anychart的图形(不过这些是需要做一些配置的)。
这里要提醒下大家,Anychart6.0版本对HTML5的支持还不算很成熟,目前还处于
Laravel版本更新异常4.2.8-> 4.2.9 Declaration of ... CompilerEngine ... should be compa
bozch
laravel
昨天在为了把laravel升级到最新的版本,突然之间就出现了如下错误:
ErrorException thrown with message "Declaration of Illuminate\View\Engines\CompilerEngine::handleViewException() should be compatible with Illuminate\View\Eng
编程之美-NIM游戏分析-石头总数为奇数时如何保证先动手者必胜
bylijinnan
编程之美
import java.util.Arrays;
import java.util.Random;
public class Nim {
/**编程之美 NIM游戏分析
问题:
有N块石头和两个玩家A和B,玩家A先将石头随机分成若干堆,然后按照BABA...的顺序不断轮流取石头,
能将剩下的石头一次取光的玩家获胜,每次取石头时,每个玩家只能从若干堆石头中任选一堆,
lunce创建索引及简单查询
chengxuyuancsdn
查询 创建索引 lunce
import java.io.File;
import java.io.IOException;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Docume
[IT与投资]坚持独立自主的研究核心技术
comsci
it
和别人合作开发某项产品....如果互相之间的技术水平不同,那么这种合作很难进行,一般都会成为强者控制弱者的方法和手段.....
所以弱者,在遇到技术难题的时候,最好不要一开始就去寻求强者的帮助,因为在我们这颗星球上,生物都有一种控制其
flashback transaction闪回事务查询
daizj
oracle sql 闪回事务
闪回事务查询有别于闪回查询的特点有以下3个:
(1)其正常工作不但需要利用撤销数据,还需要事先启用最小补充日志。
(2)返回的结果不是以前的“旧”数据,而是能够将当前数据修改为以前的样子的撤销SQL(Undo SQL)语句。
(3)集中地在名为flashback_transaction_query表上查询,而不是在各个表上通过“as of”或“vers
Java I/O之FilenameFilter类列举出指定路径下某个扩展名的文件
游其是你
FilenameFilter
这是一个FilenameFilter类用法的例子,实现的列举出“c:\\folder“路径下所有以“.jpg”扩展名的文件。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
C语言学习五函数,函数的前置声明以及如何在软件开发中合理的设计函数来解决实际问题
dcj3sjt126com
c
# include <stdio.h>
int f(void) //括号中的void表示该函数不能接受数据,int表示返回的类型为int类型
{
return 10; //向主调函数返回10
}
void g(void) //函数名前面的void表示该函数没有返回值
{
//return 10; //error 与第8行行首的void相矛盾
}
in
今天在测试环境使用yum安装,遇到一个问题: Error: Cannot retrieve metalink for repository: epel. Pl
dcj3sjt126com
centos
今天在测试环境使用yum安装,遇到一个问题:
Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
处理很简单,修改文件“/etc/yum.repos.d/epel.repo”, 将baseurl的注释取消, mirrorlist注释掉。即可。
&n
单例模式
shuizhaosi888
单例模式
单例模式 懒汉式
public class RunMain {
/**
* 私有构造
*/
private RunMain() {
}
/**
* 内部类,用于占位,只有
*/
private static class SingletonRunMain {
priv
Spring Security(09)——Filter
234390216
Spring Security
Filter
目录
1.1 Filter顺序
1.2 添加Filter到FilterChain
1.3 DelegatingFilterProxy
1.4 FilterChainProxy
1.5
公司项目NODEJS实践0.1
逐行分析JS源代码
mongodb nginx ubuntu nodejs
一、前言
前端如何独立用nodeJs实现一个简单的注册、登录功能,是不是只用nodejs+sql就可以了?其实是可以实现,但离实际应用还有距离,那要怎么做才是实际可用的。
网上有很多nod
java.lang.Math
liuhaibo_ljf
java Math lang
System.out.println(Math.PI);
System.out.println(Math.abs(1.2));
System.out.println(Math.abs(1.2));
System.out.println(Math.abs(1));
System.out.println(Math.abs(111111111));
System.out.println(Mat
linux下时间同步
nonobaba
ntp
今天在linux下做hbase集群的时候,发现hmaster启动成功了,但是用hbase命令进入shell的时候报了一个错误 PleaseHoldException: Master is initializing,查看了日志,大致意思是说master和slave时间不同步,没办法,只好找一种手动同步一下,后来发现一共部署了10来台机器,手动同步偏差又比较大,所以还是从网上找现成的解决方
ZooKeeper3.4.6的集群部署
roadrunners
zookeeper 集群 部署
ZooKeeper是Apache的一个开源项目,在分布式服务中应用比较广泛。它主要用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步、集群管理、配置文件管理、同步锁、队列等。这里主要讲集群中ZooKeeper的部署。
1、准备工作
我们准备3台机器做ZooKeeper集群,分别在3台机器上创建ZooKeeper需要的目录。
数据存储目录
Java高效读取大文件
tomcat_oracle
java
读取文件行的标准方式是在内存中读取,Guava 和Apache Commons IO都提供了如下所示快速读取文件行的方法: Files.readLines(new File(path), Charsets.UTF_8); FileUtils.readLines(new File(path)); 这种方法带来的问题是文件的所有行都被存放在内存中,当文件足够大时很快就会导致
微信支付api返回的xml转换为Map的方法
xu3508620
xml map 微信api
举例如下:
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<appid><