`
文章列表
  实际上,我们也知道官网上对ResultSet的解析示例:   // 创建一个ResultSetHandler的实现类 //以实现将第一行转换为一个Object[] ResultSetHandler<Object[]> h = new ResultSetHandler<Object[]>() { public Object[] handle(ResultSet rs) throws SQLException { if (!rs.next()) { return null; } ...
 DbUtils组件的核心部分已经解析完了,实际上呢,DbUtils组件还有其它很多有用对JDBC的包装类,所以呢,在这篇博文里一一介绍:   1)DbUtils :JDBC辅助方法的集合类,它里面的方法全部是静态,实际上就是一针对JDBC的辅助操作集合类。该类的实现也是比较的简单的,比如JDBC驱动程序加载、JDBC各类接口连接的关闭等等。现在我抽取部分具有代表性的代码来进行解析:   /** * 关于数据连接实例Connection,如果Connection为空则不做任何操作 * @param conn 待关闭的Connection. * ...
  Hessian,二进制Web服务协议。Hessian使得Web service的使用不需要重量级的框架,也不需要学习另一个soup协议。由于它是一个基于二进制协议的框架,所以它非常适合发送二进制数据而不需要扩展其它的协议。   当然了,公司框架已经集成了Hessian,由于不是我集成的,所以,自己在家学习一下。   我也是从网上搜罗了很多的资料以及拜读了许多前辈的博客才有了点眉目,今天写这一篇,主要是出于学习Hessian做笔记之用。在这篇博文里,主要介绍了Hessian的基本用法以及与Spring的集成用法:   一、Hessian的基本用法:      Hessian的官网上是这 ...
  关于DbUtils,我们深入剖析了对ResultSet解析处理的两个核心类:BeanProcessor和BasicRowProcessor,可以说,这两个类,是对ResultSet的解析有了一个完整的支持。虽然真正做解析工作的是这两个类,但用户对ResultSet的解析是通过接口ResultSetHandler<T>的这个实现类来封装解决的。但要解析的是,我们也得通过SQL语句获取ResultSet对象呀,所以,看看DbUtils是怎么做的。   一、QueryRunner类,利用可插拨的策略执行SQL查询来处理ResultSets,大致看了一下,该类的重载方法确实有够多。来一 ...
  在读BasicRowProcessor 类时,它有两个方法(toBean和toBeanList)都将最终的处理工作交给了BeanProcessor,所以,今天来拜读一下此类, 在读此类的时候,决定换个方式,就一个方法慢慢的展开分析,这样或许也会更有趣味和吸引力吧: ...
  前两天着实被javaeye关闭着急了一下,还好,总算开放了!   继续我们的DbUtils组件的阅读研究吧。   RowProcessor的实现子类:BasicRowProcessor      /** * RowProcessor接口的实现类 */ public class BasicRowProcessor implements RowProcessor { /** * 默认转换器 * 如果没有指定,则使用这个进行resultSet的转换 */ private static final BeanProcess ...
  AOP,久违了!   在AOP概念理解里面呢,学习了一下AOP的一些使用场合,这一篇呢,就来真正写一些示例,来学习这样的一个概念。   在Spring AOP中呢,使用了动态代理技术在运行期织入增强的代码,我们都知道,JDK动态代理只提供了针对接口的代理,CGLib是对其的强有力补充,Spring AOP支持这两种代理方式。   先来看一个一般的带有AOP概念色彩的示例程序,然后再在这个程序的基础上,使用上JDK动态代理技术和CGlib代理技术。   1) public class MethodPerformance { private static final Log ...
  DbUtils组件的整个代码结构做了一个简单的疏导,现在来看看一些比较核心的接口:    1)RowProcessor        /** * RowProcessor的实现类将ResultSet转换为其它的各种对象. * 具体的实现细节可查看:BasicRowProcessor */ public interface RowProcessor { /** * 通过指定有效的ResultSet对象,创建一个Object[]. * ResultSet在传入这个方法之前,必须指定一个有效的位置, * 这个方法的实现必 ...
  想起读源码了!   主要是出于这几个方面的考虑:     1)提高自己的编码及代码阅读能力和水平;     2)学习大师们写代码所用到的设计模式以及思路。   选择阅读Dbutils主要有以下缘由:     1)开源中国社区http://www.oschina.net/ ,站长红薯大哥数据的提取就是用的这个开源项目,并且省了很多映射,有较大的编码灵活性;     2)项目不大,代码少,我能在短时间内看完。   DbUtils主要是用来简化JDBC数据的各种操作, 项目的使用范围以及如何使用我在这里就不说了,看看该项目所有代码的结构以及各类的说明: org.apac ...
  这段日子忙项目忙得够呛的,利用周末,自己学习把Ubuntu系统的Java开发环境搭建一下!  本人使用的是ubuntu-10.04-desktop-i386.iso,是在Window系统下建立的虚拟机安装的。所有的安装呢,都放在/usr/lib/java目录下,java呢,是在/usr/lib路径下创建的一个文件夹,可使用mkdir java来创建这个文件夹,以下不再说明。   1)JDK安装:      http://www.oracle.com/technetwork/java/javase/downloads/index.html: jdk-6u22-linux-i586.bin ...
  最近,咱组在搞一个物流系统,老大让我搞个类似google/baidu的自动查询匹配功能,第一反应,网上太多例子了,当即回复老大:放心吧,搞得定。   网上的资料确实多得很,但想不动脑筋找到适合自己的,总感觉不是那么容易。前前后后,折腾得不行了!   在实现这个功能的时候,主要有以下的几个问题:用jquery和dwr,两者有冲突;找到spring与dwr完美整合的,浏览器兼容性差;另一方面,要导入的依赖第三方的js库太多;还有一点很重要,对中文输入好像总不能及时的触发后台调用方法。所以基于上面的一些我强加给他们的缺陷,我决定,自己写个这样的功能组件(说实话,我喜欢干这种事情! )   ...

MySQL存储过程

  说实在话,搞了两年的开发了,这东西,今儿才真正的开始学习,有点次了啊,呵呵!   不过话又说回来了,除非真的有必要写存储过程,否则那些个简单的业务逻辑,我则更愿意在service层里处理,SQL语句则相对简单些。不过,有一点,相对于程序的维护,分配一些到数据库方面的维护,也是个不错的选择。要说存储过程的好处,网上随便一搜一大把,不说了,不说了!    附上附件,感兴趣的拿下来看看吧!
  公司里用Vss管理项目版本,前前后后折腾了一两年,现如今到底还是改用SVN工具了,说实话,我喜欢这小龟!   好久不用了,有些生疏了都,还得google/baidu上搜索,所以,为SVN做个笔记吧。   官网地址:http://subclipse.tigris.org/ ,SVN的使用,大概是这么的两种情况:     一种呢,就是安装服务器端和客户端:       具体的可以参考:http://guoyaxu.iteye.com/blog/110069     另一种情况呢,则是我们开发时要使用的MyEclipse SVN插件:       这个我想搞Java Eclips ...
  做为一个公司项目的Leader,项目组里有很多的开发人员,他们各有各个的开发特点和习惯,所以他们搭配的开发环境也必然会有所差异,比如编码以及注释风格不一。代码出现了问题了,又不知道找谁去。那么,建立自己项目的Code Style,那就有点迫在眉急了。为自己的项目建立自己的注释编码风格,也可以为开发人员少去一定的麻烦和时间,本人意在搭建一个统一的MyEclipse开发环境。   如何建立自己公司项目的Code Style呢,以下有几个风格我们可以选择:   1)Code Templates(代码模板):Window-->Preferences..-->Java-->Cod ...
  Android,早就想了解的一个智能手机系统了,在今年年初,公司要把业务推广到手机上,我有幸参与开发了iCalendar的时候,让我亲身体验了一把iPhone,iPhone是没指望买了,贵!买它我还不如买台笔记本呢!   为了寻找同样有着 ...
Global site tag (gtag.js) - Google Analytics