- 浏览: 86787 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (110)
- java (110)
- Comparing PHP Frameworks ( Symfony (1)
- CakePHP (1)
- YII and CodeIgniter) (1)
- spring定时任务的实现 (1)
- 获得一个节点对象的节点类型 (1)
- SWT 文本框Text通过GC重绘改变边框颜色 (1)
- 常用命令收集(系统设置) (1)
- openlayers 应用Google图层你必须做的 (1)
- Shell Sort in Java (1)
- Java网络编程 (1)
- 删除more里面的Edit (1)
- Android颜色选择器 (1)
- Linux安全配置步骤简述 (1)
- 职场官话 (1)
- TOMCAT常用优化 (1)
- 2008 ==> 2009 (1)
- 01_Android介绍 (1)
- HTML特殊字符 (1)
- 终于完成一个最重要的任务——找工作 (1)
- java 加密算法 base64 (1)
- 《南方周末》《南方日报》《新京报》《南方体育》等报纸在线阅读 (1)
- 由ORM框架设计看到微软与苹果的最大差别 (1)
- 通过发微博控制电脑的程序源码 (1)
- flex入门 (1)
- JS合并单元格、JavaScript单元格合并 (1)
- 各种常用编译开关位置 (1)
- 单一入口应用程序概述 (1)
- [转]Cocoa中回调delegate的方法时判断delegate是否已经被释放 (1)
- java简单的通用ajax分页方法 (1)
- /dev/shm放/tmp (1)
- Java中HashMap排序和遍历 . (1)
- Chrome+SwitchySharp+myentunnel+SSH (1)
- LINUX-网卡Bond (1)
最新评论
-
ken890202:
java简单的通用ajax分页方法 -
hanmiao:
真够乱的,什么都看不清。
Linux安全配置步骤简述 -
houxinyou:
说一下我自己的想法.苹果只是做一款相同的东西,然后是完善.有什 ...
由ORM框架设计看到微软与苹果的最大差别 -
delphixp:
微软技术方案很多?。。。。Java 系统笑而不语。。。
由ORM框架设计看到微软与苹果的最大差别 -
huchiwei:
同意楼上说法。这代码....怎么看!!
web应用dao层的开发经验小结
public abstract class simplepagingqueryjdbctemplate{ public static final pattern frompattern = pattern.compile("from",pattern.case_insensitive); public static final string countsqlhead = "select count(*) from "; public static final pattern orderbypattern = pattern.compile("order(\\s)+by",pattern.case_insensitive); public static final pattern selectpattern = pattern.compile("select",pattern.case_insensitive); @resource jdbctemplate jdbctemplate; public list <map<string,object>> query(simplequery simplequery,pager pager){ string querysql = simplequery.getquerysql(); object args = simplequery.getargs(); long count = count(simplequery); pager.settotalobjects(count); if(count<=pager.getfirstresult()){ return new arraylist<map<string,object>>(); } string pagingquerysql = createpagingquerysql(querysql, pager.getfirstresult(), pager.getpagesize()); if(args == null){ return jdbctemplate.queryforlist(pagingquerysql); }else{ return jdbctemplate.queryforlist(pagingquerysql, args); } } private long count(simplequery simplequery){ string countsql = simplequery.getcountsql(); object args = simplequery.getargs(); if(countsql == null){ countsql = createcountsql(simplequery.getquerysql()); } if(args == null){ return jdbctemplate.queryforlong(countsql); }else{ return jdbctemplate.queryforlong(countsql, args); } } private string createcountsql(string querysql){ string[] sqlparts = frompattern.split(querysql, 2); if(sqlparts.length!=2){ throw new illegalargumentexception("the sql query maybe miss the word \"from\"."); } string countsqlbody = cutlastorderby(sqlparts[1])[0]; return countsqlhead+countsqlbody; } protected string[] cutlastorderby(string sql){ matcher matcher = orderbypattern.matcher(sql); if(!matcher.find()){ return new string[]{sql,null}; } int orderbyindex = matcher.start(); while(matcher.find()){ orderbyindex = matcher.start(); } return new string[] {sql.substring(0,orderbyindex),sql.substring(orderbyindex)}; } protected abstract string createpagingquerysql(string querysql, long firstresult, int maxresult);}
public interface pager { long getfirstresult(); long getpagenumber(); int getpagesize(); long gettotalobjects(); long gettotalpages(); void setfirstresult(long firstresult); void setpagenumber(long pagenumber); void setpagesize(int pagesize); void settotalobjects(long totalobjects); void settotalpages(long totalpages);}
public interface simplequery { object getargs(); string getcountsql(); string getquerysql(); void setargs(object... args); void setcountsql(string countsql); void setquerysql(string querysql);}
在对象村的春天软件公司,员工们使用着一个简单的分页功能...有一天,老板发话:"我们的查询功能,返回的是list <map<string,object>> 类型,客户现在觉得不满意,要求我们增加返回包装好的对象的list,正好我们有rowmapper接口,这个功能应该不难实现."于是,员工们准备向系统添加功能了.
发表评论
-
LINUX-网卡Bond
2012-02-08 15:22 893网卡bond是通过把多张网卡绑定为一个逻辑网卡,实现本 ... -
Chrome+SwitchySharp+myentunnel+SSH
2012-02-04 17:14 1889? <p style="margin ... -
Java中HashMap排序和遍历 .
2012-02-03 10:29 1953<div id="article_co ... -
/dev/shm放/tmp
2012-02-02 17:14 928呵呵,有时候不懂装懂的人挺搞笑的哈 转http://z ... -
java简单的通用ajax分页方法
2012-02-02 12:44 1799发表一个自己常用的分页的通用代码,实现了ajax分页。 ... -
[转]Cocoa中回调delegate的方法时判断delegate是否已经被释放
2012-01-31 16:58 1098<p>http://pingguohe.n ... -
单一入口应用程序概述
2012-01-11 14:03 683什么是单一入口应用程序? 在解释什么是单一入口应用 ... -
各种常用编译开关位置
2012-01-11 12:54 695vendor\third-party\products ... -
JS合并单元格、JavaScript单元格合并
2011-12-28 14:08 1110<span style="font-f ... -
flex入门
2011-12-28 12:23 875<span style="fon ... -
通过发微博控制电脑的程序源码
2011-12-20 12:29 1289前段时间看群里挺多讨论 微博api,正好前几天看到有个 ... -
由ORM框架设计看到微软与苹果的最大差别
2011-12-20 09:59 1373一不小心加入水 ... -
《南方周末》《南方日报》《新京报》《南方体育》等报纸在线阅读
2011-12-15 11:04 1257我经常到南方报业提供的网址下载他们出版的报纸看,今天突 ... -
java 加密算法 base64
2011-12-14 17:58 900<span style="color: ... -
终于完成一个最重要的任务——找工作
2011-12-14 14:54 630</span></span>& ... -
HTML特殊字符
2011-12-14 10:54 697最近在做某种模拟器上的网页的显示,需要考虑HTML特殊 ... -
01_Android介绍
2011-12-13 10:44 598? <h4 style="margin ... -
2008 ==> 2009
2011-12-13 10:39 601发现时间过的真的很快,这么快,又是新的一年了。特地翻出 ... -
TOMCAT常用优化
2011-12-12 16:04 667<p class="MsoNorm ... -
职场官话
2011-12-12 12:29 563官场充斥着官话,职场也满是官话,可能你没有注意到而已。 ...
相关推荐
相空间重构C-C法,含数据 。。
重构----改善既有代码的设计(完整中文扫描版PDF),精彩不容错过。
### 重构(1-6).pdf 知识点解析 #### 标题解析 - **重构(1-6).pdf**:此标题表明文档主要涵盖了重构技术的基础与实践指南,特别是第一章至第六章的内容。 #### 描述解析 - **重构(1-6).pdf 1-6章**:这一描述明确...
重构----改善既有代码的设计 怎么写好一个类,怎么重构已有代码,运用多中重构代码的方法,去改善代码结构。
开始重构时,可以从处理重复代码、过长函数、过大类等问题入手。例如,重复的代码可以通过提取方法来消除,过长函数可以通过分解为多个小函数来改进。对于过大类,可以考虑提取类或使用参数对象等策略。发散式变化和...
1. **工具介绍**: `pt-archiver`是Percona Toolkit的一部分,这是一个集合了各种MySQL和MariaDB管理工具的开源套件。它的主要功能是在线、无锁地移动大量表的数据,可以用于数据归档、表瘦身或者在不同服务器之间...
重构---改善既有代码的设计。Java程序员必读书籍之一。
重构是软件开发中持续改进代码质量的实践活动,它不改变程序的外部行为,而是让代码的内部结构变得更为合理、高效。Martin Fowler是重构领域中极具影响力的专家之一,他的著作《重构——改善既有代码的设计》被广泛...
【部分内容】: 提到了系统介绍、现有代码结构的问题以及重构的必要性。 在这个心算大师游戏中,系统设计考虑了数学练习和娱乐的结合,用户通过解决包含加、减、乘的计算题目来闯关。随着技能的提升,游戏可扩展至...
本书讲述重构,即在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。
重构与模式-中文扫描版http://product.china-pub.com/32561
MATLAB 的基本数据单元是矩阵,指令表达式与数学、工程中常用的形式十分相似,因此使用 MATLAB 来解决问题要比使用 C、FORTRAN 等语言更加简捷。 三、信号的采样 采样器的作用是将连续信号转换为脉冲或数字序列。...
"基于相空间重构的GQPSO-WNN 短时交通流预测" 本文介绍了一种基于相空间重构的GQPSO-WNN 短时交通流预测模型。该模型通过结合遗传算法和小波神经网络,来预测交通流的变化趋势。模型的核心是使用相空间重构技术来...
疫后新格局:从重启到重构-20210209-中金公司-16页.pdf
无人机编队重构_UAVs-Reconfiguration
Martin Fowler和本书另几位作者清楚揭示了重构过程,他们为面向对象软件开发所做的贡献,难以衡量。本书解释重构的原理(principles)和最佳实践方式(best practices),并指出何时何地你应该开始挖掘你的代码以求...
复现重构光谱算法-matlab算法文档含源码
088 配电网重构matlab.含sop配电网重构 故障6-7 yalmip 二阶锥