在前后端对接接口的时候,你会发现咦这个时间后面我不想要这么准确的信息一般我们会要求后端将数据进行修改再返回给我们进行使用其实这对于前端来说也是可以办到滴!!!首先拿到数据集合letlist=res.resultfor(vari;i
前端小技巧: TS实现EventBus自定义事件
Wang's Blog
JavascriptWeb前端小技巧
关于EventBus事件总线事件总线,实现on,once,emit,offon,once是注册函数,存储起来emit时找到对应的函数,执行off找到对应的函数,从对象中删除注意区分on和onceon绑定的事件可连续执行,除非offonce绑定的函数emit一次即删除,也可未执行而被off数据结构上标识出on和once实现方案1代码实现:使用参数区分on和onceclassEventBus{/*{k
前端小技巧: 区分防抖和节流的方法
Wang's Blog
JavascriptWeb前端
一、防抖Debounce1)简单描述防止抖动,防止你抖动过程中,执行下一步,等你停止了,再执行下一步场景:输入框,等输入停止或者间歇,才去做监听一个输入框,文字变化后出发change事件直接用keyup,则会频繁出发change事件用户输入或暂停时,才触发change事件注意,如果用户连续触发,清理之前的2)代码实现constinput=document.getElementById('input
前端小技巧: 拍平数组的6种常见方法
Wang's Blog
JavascriptWeb前端小技巧
关于数组拍平所谓数组拍平,就是按照顺序,把他们全放在一个数组中需要考虑多层级和嵌套的问题来彻底拍平数组*实现方案1)一般思路,先实现一级扁平化,然后递归,直到全部扁平functionflat(arr){constres=[];arr.forEach(item=>{if(Array.isArray(item)){constflatItem=flat(item);//递归flatItem.forEac
前端小技巧:ELement UI时间控件el-date-picker误差8小时
xuelong-ming
webelementuijavascriptvue.js
问题前端使用框架与UI:Vue+ElementUI。在项目开发中使用到了DateTimePicker组件,在选择时间后点击查询发现查询导的内容与预期内容有所偏差,之后发现前端选中的时间在后端接收时相差了八个小时。原因我们国家的标准时间是东经120°时间(东八区),而标准时间是格林威治时间(世界时),两者相差了整整8小时。解决需要设置value-format属性,value-format=“yyyy
前端小技巧: TS实现深拷贝函数,考虑 Map, Set, 循环引用
Wang's Blog
TypescriptWeb前端深拷贝循环引用
写一个深拷贝函数使用JSON.stringify和parse这类只能适合数据结构简单的,不能循环引用的,没有function的普通深拷贝只考虑ObjectArray无法转换MapSet和循环引用functioncloneDeep(obj:any){if(typeofobj!=='object'||!obj)returnobjconstresult=objinstanceofArray?[]:{}f
前端小技巧: TS实现new出一个对象的内部过程
Wang's Blog
TypescriptWeb前端new出一个对象
new一个对象,写代码实现内部过程class是function的语法糖new一个对象的过程创建一个空对象obj,继承构造函数的原型执行构造函数(将obj作为this)返回objexportfunctioncustomNew(constructor:Function,...args:any[]):T{//1.创建一个空对象,继承constructor的原型constobj=Object.create
前端小技巧: TS实现bind函数,call函数,以及apply函数
Wang's Blog
JavascriptTypescriptWeb前端bindcallapply
bind函数实现返回一个新函数,但是不执行Function.prototype.customBind=function(context:any,...bindArgs:any[]){//context是bind传入的this//bindArgs是bind传入的各个参数constself=this//当前函数本身returnfunction(...args:any[]){constnewArgs=b
前端小技巧: TS实现数组转树,树转数组
Wang's Blog
前端TS数组树
将数组转为树interfaceIArrayItem{id:number,name:string,parentId:number}interfaceITreeNode{id:numbername:stringchildren?:ITreeNode[]}constarr=[{id:1,name:'部门A',parentId:0},{id:2,name:'部门B',parentId:1},{id:3,n
前端小技巧: TS实现柯里化函数
Wang's Blog
TypescriptWeb前端柯里化
实现curry函数,把其他函数柯里化curry返回一个函数fn执行fn,中间状态返回函数,如add(1),或者add(1)(2)最后返回执行结果,如add(1)(2)(3)functioncurry(fn:Function){constfnArgsLen=fn.length//传入函数的参数长度letargs:any[]=[]//ts中,独立的函数,this需要生命类型functioncalc(t
php解析markdown前端渲染,前端小技巧:加载并解析Markdown文档
特派禁烟员
问题描述与分析作为程序猿,应该多多少少都用过Markdown,或者至少读过别人用Markdown语法写的一些文档,比如在GitHub有一个你要用的开源程序,而你又是第一回用它,那么你一般会在这个仓库的Readme里读一读开发者提供的工具说明和使用的相关信息,这部分文档一般就是用Markdown的语法写的此处以李恒大神的BWA的Readme为例简单来说,Markdown就是简化阉割过的HTML,优点
【前端小技巧】用CSS隐藏元素的几种方法
潘高PG
前言2021年最后一天,疫情还没有完全结束,武汉市政府也取消了跨年活动。今晚,就连地铁都提前到9点关闭,大家都在家里跨年。这不,我也在家里跨年。不过我并没有看晚会,而是整理了一篇前端小技巧,算是给自己2021年一个小小的总结。正文用CSS隐藏元素有很多种方法,这里介绍3种常见的。opacity:0特点是【看不见,占空间,摸得着】元素隐藏不改变布局如果绑定了事件,点击该区域,是可以触发事件的visi
html表单form字体颜色_前端小技巧:学会用FormData对象收集表单数据
weixin_39837867
html表单form字体颜色uniapp对象怎么获取值所有表单对象
1.FormData对象有什么用?我们先看一个小例子:html代码:需求:是获取form表单中的用户名和密码并包装成一个对象这个需求是我们大部分时候在发送ajax请求时需要做的一个工作。传统JS写法:functionmysubmit(){letusernameEle=document.getElementById("username");letusername=usernameEle.value;
【前端小技巧】用border画三角形和梯形
潘高PG
前言我们组要招一个前端开发,我也借此机会整理了一下前端的基础知识。否则在面试的时候如果被别人问倒了,人家还以为我们公司没有技术大牛的。在复习CSS基础的时候,我被一个网友的奇思妙想震惊了,居然可以用border来画三角形。在此之前,我都只是用border来打框框的。-.-!!正文我们比较常规的用法,就是用border属性来设置边框,如下所示:div{width:100;height:100;bor
前端小技巧
未卜先
1.让图文不可复制这点应该大家都很熟悉了,某些时候【你懂的】为了快捷搜索答案,可是打死也不让你复制-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none;-khtml-user-select:none;user-select:none;复制的时候自带版权信息那有些网页为了尊重原创,复制的文本都会被加上一段来源说明,是如
新手学习web前端小技巧优漫动游
UIKKA3792
UI学习前端
如何应对前端焦虑,前端具试着找身边有经验的老程序员聊了聊,并总结一些他们的想法和前端学习小技巧分享给大家 最近听到很多身边的朋友说起,互联网行业变化得太快,而其中的web前端开发领域更是不断推陈出新,日新月异。 新技术总是层出不穷,以至于开发者总害怕自己错过了更先进,热门的技术,最后疲于奔命地学习。 听说react很高大上,但学着vue似乎更加简洁轻量。用着jquery开发十分高效,能解
前端小技巧
Dannn_Y
作为前端新手,总结了一下自己在做项目中,遇到了问题,在这里记录一下解决办法。计算文字的高度,展开收起在工作中经常遇到这类的需求,需要计算文字的高度,当达到几行之后就显示展开收起的按钮,供文字展开收起。在未达到的时候不显示此按钮。思路在有数据的时候先计算文字的高度,如果超过设置的高度显示展开收起的按钮,没有就不显示展开收起的按钮.{{$t("message.productionInfo")}}dea
前端小技巧之div标签连线
云南仟龙Mark
前端csscss3
今天分享下”前端小技巧之div标签连线“这篇文章,文中根据实例编码详细介绍,或许对大家的编程之路有着一定的参考空间与使用价值,需要的朋友接下来跟着云南仟龙Mark一起学习一下吧。近日在画一个界面的时候,遇到一个需求:在界面当中画一条竖线,且这条竖线在高度上需要自动占满整个父div(即这条竖线的高度和两个div中较高的一个等高)。往常我们画一条横线直接用标签即可,当画一条竖线的时候发现找不到标签。在
每天一个前端小技巧——生成gif动图下载
罗小胖*666
htmlcssjavascript
每天一个前端小技巧——生成gif动图下载动态热图的展现,分别展现某个时间段的热图时间变化,例如:最近一周七天内,每天的热图分布变化图;这个动态变化的图生成一个gif图提供下载是否可行?实现方案:1.可通过服务端生成对应gif,然后前端请求下载2.前端自己实现生成gif图片,自行下载采用方案:前端实现方式,于是在网上找各种相关的几款组件调研,均有利弊,推荐两款好用并且稳定的组件:1html2canv
前端小技巧:关闭浏览器时触发事件
xuelong?
前端vuejsvue.js
//点击关闭浏览器时触发关闭事件window.addEventListener("beforeunload",e=>{console.log("执行关闭时事件");//这里写要执行的事件});记录工作中遇到的每个小问题!
前端小技巧之破解网页文字禁止复制
资深の小白
javascript
前端小技巧破解网页文字禁止复制破解网页文字禁止复制我们在很多网站看到一些需要借鉴的文章,这时候想复制粘贴却发现复制不了,这时候只需几步即可复制你想要的内容,废话不多说这时候只需打开浏览器控制台F12的设置找到如下选中即可这时候你就会发现网页的文字能复制了~觉得有用的同学别忘记点赞哦~
前端小技巧
南城夏季
业务笔记js前端javascript开发语言
1.html1.1网站自动刷新应用场景:网页定期自动刷新(现在基本淘汰了,采用ajax);自动跳转到指定页面,这个自动跳转的好处就是不需要JS调用,属于纯html网页自动跳转v7-网站自动刷新你可以在head标签中将网站设置为定时刷新!如,content为刷新间隔。-->技巧页面是否刷新letrefresh=localStorage.getItem('refresh')||0localStorag
我从别人那里偷学的前端调试小技巧(浏览器篇)
墨_浅-
javascsripthtmljavascript
发现光,欣赏光,学习光每个人身上都有着不同的闪光点,把焦点凝结在缺点上只会让互相难过。转移焦点,放在他的优点上,你会发现,唔还不错。而且,你还可以学习它,让你变得更棒。(我越来越擅长写鸡汤了???????)我从别人那里偷学的前端小技巧ElementsConsoleSourcesNetworkHeaders首先F12打开调试窗口开发者工具,不同电脑可能快捷键不同Elements1Elements可以
如何封装一个颜色选择ColorPicker组件?
前端cssvue.js小程序
本篇文章主要分两部分来讲解,首先带你进一步认识一下颜色模型相关的概念,然后在此基础上封装一个自己的ColorPicker组件。同时,在文章结尾处将分享一个前端小技巧,不要错过哦!颜色模型我们平时开发中,经常用到的颜色模型主要是十六进制和RGB两种,浏览器所支持的颜色模型还有颜色标识符和HSL。作为前端开发人员,基本只需要根据设计稿给出的色值,复制过来就可以了,但是如果要封装一个颜色选择组件,却不得
前端小技巧! 速速来看! 为自己为后端节省时间!
科哚洛夫
为自己为后端节省时间!htm代码!10条4条jQuery代码$('.copy').each(function(i,item){//页面加载完毕后读取页面所有含class为copy的标签,并执行jsvarthat=$('.copy').eq(0);//定义该值是为了省略后面程序的的字符数,并且取copy的第一个varnum=that.attr("data-num");//获得当前copy标签的dat
前端小技巧之解决跨域问题(简单粗暴)
itmonkey-cn
工具
jsonp、反向代理、后端处理,这些都不讲,直接改浏览器。小程序、APP没有跨域问题,vue可以反向代理,uni-app的H5跨域问题,靠这个很好用。仅限于chrom谷歌浏览器。右键浏览器图标,选择属性,在目标地址最后加入:--disable-web-security--user-data-dir
web前端学习一定要注意的6个技巧
爱创课堂培训崔老师
javascriptcssvue.jshtmlhtml5
WEB前端大家并不陌生,现在各大企业的it部门都离不开前端工程师这个职位,越来越多的人择业选择前端行业,但初学者对前端行业还是很陌生的,不知道从哪里开始学,下面就为大家介绍一些学习前端小技巧,希望对大家在学前端的路上有所帮助!一、div和table这个是最简单的,也是最基础的。要熟练掌握div、formtable、ulli、p、span、font这些标签,这些都是最常用的,特别是div和table
css前端小技巧
anne_111
1、文本溢出overflow:hiddenwhite-space:nowrap;text-overflow:ellipsisdisplay:-webkit-box-webkit-box-orient:verical(垂直方向);-webkit-line-clamp:2(选择两行)2、Ios局部活动在body里添加一下属性,会避免一些奇怪的bug出现在css里加下面这个属性-webkit-overf
前端小技巧:Javascript中定义私有属性(Private Properties)
MudOnTire
javascriptclass私有属性
和很多高级语言不同,JavaScript中没有public、private、protected这些访问修饰符(accessmodifiers),而且长期以来也没有私有属性这个概念,对象的属性/方法默认都是public的。虽然目前class的私有属性特性已经进入了Stage3实验阶段(Spec),通过Babel已经可以使用,并且Nodev12中也增加了对私有属性的支持,但这并不妨碍我们用JS的现有功
分享100个最新免费的高匿HTTP代理IP
mcj8089
代理IP代理服务器匿名代理免费代理IP最新代理IP
推荐两个代理IP网站:
1. 全网代理IP:http://proxy.goubanjia.com/
2. 敲代码免费IP:http://ip.qiaodm.com/
120.198.243.130:80,中国/广东省
58.251.78.71:8088,中国/广东省
183.207.228.22:83,中国/
mysql高级特性之数据分区
annan211
java数据结构mongodb分区mysql
mysql高级特性
1 以存储引擎的角度分析,分区表和物理表没有区别。是按照一定的规则将数据分别存储的逻辑设计。器底层是由多个物理字表组成。
2 分区的原理
分区表由多个相关的底层表实现,这些底层表也是由句柄对象表示,所以我们可以直接访问各个分区。存储引擎管理分区的各个底层
表和管理普通表一样(所有底层表都必须使用相同的存储引擎),分区表的索引只是
JS采用正则表达式简单获取URL地址栏参数
chiangfai
js地址栏参数获取
GetUrlParam:function GetUrlParam(param){
var reg = new RegExp("(^|&)"+ param +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null
怎样将数据表拷贝到powerdesigner (本地数据库表)
Array_06
powerDesigner
==================================================
1、打开PowerDesigner12,在菜单中按照如下方式进行操作
file->Reverse Engineer->DataBase
点击后,弹出 New Physical Data Model 的对话框
2、在General选项卡中
Model name:模板名字,自
logbackのhelloworld
飞翔的马甲
日志logback
一、概述
1.日志是啥?
当我是个逗比的时候我是这么理解的:log.debug()代替了system.out.print();
当我项目工作时,以为是一堆得.log文件。
这两天项目发布新版本,比较轻松,决定好好地研究下日志以及logback。
传送门1:日志的作用与方法:
http://www.infoq.com/cn/articles/why-and-how-log
上面的作
新浪微博爬虫模拟登陆
随意而生
新浪微博
转载自:http://hi.baidu.com/erliang20088/item/251db4b040b8ce58ba0e1235
近来由于毕设需要,重新修改了新浪微博爬虫废了不少劲,希望下边的总结能够帮助后来的同学们。
现行版的模拟登陆与以前相比,最大的改动在于cookie获取时候的模拟url的请求
synchronized
香水浓
javathread
Java语言的关键字,可用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这段代码。当两个并发线程访问同一个对象object中的这个加锁同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。然而,当一个线程访问object的一个加锁代码块时,另一个线程仍然
maven 简单实用教程
AdyZhang
maven
1. Maven介绍 1.1. 简介 java编写的用于构建系统的自动化工具。目前版本是2.0.9,注意maven2和maven1有很大区别,阅读第三方文档时需要区分版本。 1.2. Maven资源 见官方网站;The 5 minute test,官方简易入门文档;Getting Started Tutorial,官方入门文档;Build Coo
Android 通过 intent传值获得null
aijuans
android
我在通过intent 获得传递兑现过的时候报错,空指针,我是getMap方法进行传值,代码如下 1 2 3 4 5 6 7 8 9
public
void
getMap(View view){
Intent i =
apache 做代理 报如下错误:The proxy server received an invalid response from an upstream
baalwolf
response
网站配置是apache+tomcat,tomcat没有报错,apache报错是:
The proxy server received an invalid response from an upstream server. The proxy server could not handle the request GET /. Reason: Error reading fr
Tomcat6 内存和线程配置
BigBird2012
tomcat6
1、修改启动时内存参数、并指定JVM时区 (在windows server 2008 下时间少了8个小时)
在Tomcat上运行j2ee项目代码时,经常会出现内存溢出的情况,解决办法是在系统参数中增加系统参数:
window下, 在catalina.bat最前面
set JAVA_OPTS=-XX:PermSize=64M -XX:MaxPermSize=128m -Xms5
Karam与TDD
bijian1013
KaramTDD
一.TDD
测试驱动开发(Test-Driven Development,TDD)是一种敏捷(AGILE)开发方法论,它把开发流程倒转了过来,在进行代码实现之前,首先保证编写测试用例,从而用测试来驱动开发(而不是把测试作为一项验证工具来使用)。
TDD的原则很简单:
a.只有当某个
[Zookeeper学习笔记之七]Zookeeper源代码分析之Zookeeper.States
bit1129
zookeeper
public enum States {
CONNECTING, //Zookeeper服务器不可用,客户端处于尝试链接状态
ASSOCIATING, //???
CONNECTED, //链接建立,可以与Zookeeper服务器正常通信
CONNECTEDREADONLY, //处于只读状态的链接状态,只读模式可以在
【Scala十四】Scala核心八:闭包
bit1129
scala
Free variable A free variable of an expression is a variable that’s used inside the expression but not defined inside the expression. For instance, in the function literal expression (x: Int) => (x
android发送json并解析返回json
ronin47
android
package com.http.test;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import
一份IT实习生的总结
brotherlamp
PHPphp资料php教程php培训php视频
今天突然发现在不知不觉中自己已经实习了 3 个月了,现在可能不算是真正意义上的实习吧,因为现在自己才大三,在这边撸代码的同时还要考虑到学校的功课跟期末考试。让我震惊的是,我完全想不到在这 3 个月里我到底学到了什么,这是一件多么悲催的事情啊。同时我对我应该 get 到什么新技能也很迷茫。所以今晚还是总结下把,让自己在接下来的实习生活有更加明确的方向。最后感谢工作室给我们几个人这个机会让我们提前出来
据说是2012年10月人人网校招的一道笔试题-给出一个重物重量为X,另外提供的小砝码重量分别为1,3,9。。。3^N。 将重物放到天平左侧,问在两边如何添加砝码
bylijinnan
java
public class ScalesBalance {
/**
* 题目:
* 给出一个重物重量为X,另外提供的小砝码重量分别为1,3,9。。。3^N。 (假设N无限大,但一种重量的砝码只有一个)
* 将重物放到天平左侧,问在两边如何添加砝码使两边平衡
*
* 分析:
* 三进制
* 我们约定括号表示里面的数是三进制,例如 47=(1202
dom4j最常用最简单的方法
chiangfai
dom4j
要使用dom4j读写XML文档,需要先下载dom4j包,dom4j官方网站在 http://www.dom4j.org/目前最新dom4j包下载地址:http://nchc.dl.sourceforge.net/sourceforge/dom4j/dom4j-1.6.1.zip
解开后有两个包,仅操作XML文档的话把dom4j-1.6.1.jar加入工程就可以了,如果需要使用XPath的话还需要
简单HBase笔记
chenchao051
hbase
一、Client-side write buffer 客户端缓存请求 描述:可以缓存客户端的请求,以此来减少RPC的次数,但是缓存只是被存在一个ArrayList中,所以多线程访问时不安全的。 可以使用getWriteBuffer()方法来取得客户端缓存中的数据。 默认关闭。 二、Scan的Caching 描述: next( )方法请求一行就要使用一次RPC,即使
mysqldump导出时出现when doing LOCK TABLES
daizj
mysqlmysqdump导数据
执行 mysqldump -uxxx -pxxx -hxxx -Pxxxx database tablename > tablename.sql
导出表时,会报
mysqldump: Got error: 1044: Access denied for user 'xxx'@'xxx' to database 'xxx' when doing LOCK TABLES
解决
CSS渲染原理
dcj3sjt126com
Web
从事Web前端开发的人都与CSS打交道很多,有的人也许不知道css是怎么去工作的,写出来的css浏览器是怎么样去解析的呢?当这个成为我们提高css水平的一个瓶颈时,是否应该多了解一下呢?
一、浏览器的发展与CSS
《阿甘正传》台词
dcj3sjt126com
Part Ⅰ:
《阿甘正传》Forrest Gump经典中英文对白
Forrest: Hello! My names Forrest. Forrest Gump. You wanna Chocolate? I could eat about a million and a half othese. My momma always said life was like a box ochocol
Java处理JSON
dyy_gusi
json
Json在数据传输中很好用,原因是JSON 比 XML 更小、更快,更易解析。
在Java程序中,如何使用处理JSON,现在有很多工具可以处理,比较流行常用的是google的gson和alibaba的fastjson,具体使用如下:
1、读取json然后处理
class ReadJSON
{
public static void main(String[] args)
win7下nginx和php的配置
geeksun
nginx
1. 安装包准备
nginx : 从nginx.org下载nginx-1.8.0.zip
php: 从php.net下载php-5.6.10-Win32-VC11-x64.zip, php是免安装文件。
RunHiddenConsole: 用于隐藏命令行窗口
2. 配置
# java用8080端口做应用服务器,nginx反向代理到这个端口即可
p
基于2.8版本redis配置文件中文解释
hongtoushizi
redis
转载自: http://wangwei007.blog.51cto.com/68019/1548167
在Redis中直接启动redis-server服务时, 采用的是默认的配置文件。采用redis-server xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务。下面是Redis2.8.9的配置文
第五章 常用Lua开发库3-模板渲染
jinnianshilongnian
nginxlua
动态web网页开发是Web开发中一个常见的场景,比如像京东商品详情页,其页面逻辑是非常复杂的,需要使用模板技术来实现。而Lua中也有许多模板引擎,如目前我在使用的lua-resty-template,可以渲染很复杂的页面,借助LuaJIT其性能也是可以接受的。
如果学习过JavaEE中的servlet和JSP的话,应该知道JSP模板最终会被翻译成Servlet来执行;而lua-r
JZSearch大数据搜索引擎
颠覆者
JavaScript
系统简介:
大数据的特点有四个层面:第一,数据体量巨大。从TB级别,跃升到PB级别;第二,数据类型繁多。网络日志、视频、图片、地理位置信息等等。第三,价值密度低。以视频为例,连续不间断监控过程中,可能有用的数据仅仅有一两秒。第四,处理速度快。最后这一点也是和传统的数据挖掘技术有着本质的不同。业界将其归纳为4个“V”——Volume,Variety,Value,Velocity。大数据搜索引
10招让你成为杰出的Java程序员
pda158
java编程框架
如果你是一个热衷于技术的
Java 程序员, 那么下面的 10 个要点可以让你在众多 Java 开发人员中脱颖而出。
1. 拥有扎实的基础和深刻理解 OO 原则 对于 Java 程序员,深刻理解 Object Oriented Programming(面向对象编程)这一概念是必须的。没有 OOPS 的坚实基础,就领会不了像 Java 这些面向对象编程语言
tomcat之oracle连接池配置
小网客
oracle
tomcat版本7.0
配置oracle连接池方式:
修改tomcat的server.xml配置文件:
<GlobalNamingResources>
<Resource name="utermdatasource" auth="Container"
type="javax.sql.DataSou
Oracle 分页算法汇总
vipbooks
oraclesql算法.net
这是我找到的一些关于Oracle分页的算法,大家那里还有没有其他好的算法没?我们大家一起分享一下!
-- Oracle 分页算法一
select * from (
select page.*,rownum rn from (select * from help) page
-- 20 = (currentPag