框架技术
文章平均质量分 71
nanlei1987
这个作者很懒,什么都没留下…
展开
-
一种Java Web应用开发框架的构建(基于Struts2+Spring+FreeMarker)之一
企业级Java应用在框架的基础上构建可以大幅缩短开发周期,模块化分工,层次分明人员目的性强,所以当前流行Struts/Struts2,Spring和Hibernate/IBatis框架的整合,他们在一起能很好完成一个完整的工作流程,对于中小型应用,只需经过框架整合,基础封装即可满足开发要求。本人接触框架2年时间,对Strtus2,Spring有所了解,应用较多,基于二者构建的开发框架历经中小项...原创 2010-01-19 12:12:25 · 195 阅读 · 0 评论 -
Spring数据库访问之异常处理
使用JDBC API时,很多操作都要声明抛出java.sql.SQLException异常,通常情况下是要制定异常处理策略。而Spring的JDBC模块为我们提供了一套异常处理机制,这套异常系统的基类是DataAccessException,它是RuntimeException的一种类型,那么就不用强制去捕捉异常了,Spring的异常体系如下:[img]http://dl.iteye....2011-01-19 10:29:37 · 745 阅读 · 0 评论 -
iBatis分页(基于Struts2和Freemarker)
之前介绍过基于Hibernate分页的原理和设计,这里我们所用的分页都是物理分页技术,不是JS实现的页面分页技术,是在SQL语句上执行的分页,可以获取结果集数量固定的列表,执行效率很高。下面来看看iBatis中如何设计分页,本文基于Struts2,Spring3来整合,因为暂时Spring不支持MyBatis3(可以选用MyBatis官方的MyBatis-Spring插件来实现,配有中文文...2011-05-02 10:05:40 · 107 阅读 · 0 评论 -
基于Struts2的Hibernate分页实现(FreeMarker进行视图解析)
在进行Web开发时,很多地方要使用到分页这个技术。.NET框架中是直接集成好的控件,可以直接使用了。而Java中没有,需要程序员自己来编写实现过程。虽然分页过程并不复杂,但是要完美的实现是需要时间来考验的。 先说说分页的基本原理,分页显示就是在数据量大时页面上可以只显示所有数据的一部分,然后点击页面连接可以跳到所需的位置继续查看。需求很明确,实现方法大致分为两种:一种是物理分页,...2010-07-01 15:07:05 · 171 阅读 · 0 评论 -
Spring数据库访问之ORM(一)
Spring数据库访问中另外一大模块就是ORM,ORM即对象/关系映射。Spring支持大多数ORM框架,比如Hibernate,JPA,JDO,TopLink和iBatis(Spring2支持iBatis2,现MyBatis3的Spring支持由MyBatis社区开发,并非Spring)。 首先我们从单独使用ORM框架开始,来介绍Spring对ORM的支持,以Hibernate...2011-01-27 10:54:30 · 135 阅读 · 0 评论 -
Spring数据库访问之ORM(二)
本文接[url=http://sarin.iteye.com/blog/898046]上一篇[/url]继续来研究Spring的ORM模块。 现在我们来看如何在Spring中配置ORM资源工厂,也就是在Spring中使用ORM框架。仍然以Hibernate为例来说明,要引入spring-orm和spring-context模块来做测试。首先我们可以修改一下DAO实现类的写法,因为...2011-02-16 13:19:54 · 101 阅读 · 0 评论 -
Spring数据库访问之ORM(三)
本文接[url=http://sarin.iteye.com/blog/907768]上一篇[/url]继续研究。 之前我们使用的是HibernateTemplate来进行对象的持久化的,其实在DAO实现类中我们还可以使用Hibernate的上下文Session来持久化对象。也就是通过SessionFactory对象的getCurrentSession()对象来获得Session...2011-03-02 20:35:57 · 75 阅读 · 0 评论 -
Spring 3之MVC & Security简单整合开发(一)
Spring的MVC模块是一种简洁的Web应用框架,实现了MVC模式来处理HTTP请求和响应。相比于Struts系列,SpringMVC的MVC更加明显,将控制器和视图的定义完全分离,它们不需要在一个命名空间下了。它有Spring的全部优点,bean的配置更加舒服。而Spring 3的注解配置使得代码编写更加优雅。本例结合Spring MVC和Security框架进行小小整合,仅做功能说明...2010-11-30 22:00:48 · 110 阅读 · 0 评论 -
Spring 3之MVC & Security简单整合开发(二)
本文接[url=http://sarin.iteye.com/blog/829738]上一篇[/url]继续研究Spring MVC和Security的简单整合开发。但文本会略详细介绍Security的基本用法。 现在来说Security部分。Spring Security框架是Acegi Security的升级,这个框架就是利用了多重过滤的机制对请求进行处理,将符合要求的请求放...2010-12-01 20:29:57 · 117 阅读 · 0 评论 -
Spring 3之MVC & Security简单整合开发(三)
本文接[url=http://sarin.iteye.com/blog/830831]上一篇[/url]继续深入研究Security框架。 Security对数据库验证用户有两种方式,上文提到的是它默认支持的数据库表结构,但基本上用于实际是不现实的,因为我们的数据库都有自己的业务逻辑,所以现在来看看怎么在我们自己的数据库上进行Security框架的用户验证整合,这里给出一个比较通...2010-12-03 19:04:25 · 130 阅读 · 0 评论 -
我的视频教程《中小企业OA系统》
经过5个月的制作,和华章合作的《中小企业OA系统》Java培训视频终于完成,由机械工业出版社出版发行,并于互动网(chia-pub)发售,详情请点击:[url=http://product.china-pub.com/3501706]http://product.china-pub.com/3501706[/url]。 本教程面向初级(转向Java开发)开发人员和在校学生,内容为...2011-07-29 22:27:47 · 232 阅读 · 0 评论 -
Spring数据库访问之iBatis(一)
为了丰富博客专栏【Spring数据库访问系列】的内容,完善Spring数据库访问的体系,现在我们介绍Spring对iBatis的支持。 相对于Hibernate等ORM框架的全自动SQL,那么iBatis则属于半自动化的ORM框架,我们需要编写SQL语句,由iBatis进行数据库访问,返回结果。而iBatis可以为我们做的更多,比如对查询结果的封装等等。虽然不如全自动SQL方便,...2012-01-02 18:45:57 · 122 阅读 · 0 评论 -
Spring数据库访问之iBatis(二)
接[url=http://sarin.iteye.com/blog/1333238]上文[/url],我们继续来研究Spring和iBatis的整合访问数据。下面首先来看看插入操作,数据的插入操作属于更新操作的一种,是比较简单的一种操作,就是将符合数据表字段规范且对应用程序无害的数据插入到数据表中。 我们分两种方式来进行插入操作,第一种是Bean的方式进行,首先来编写iBatis...2012-06-10 13:56:01 · 105 阅读 · 0 评论 -
iBatis执行非查询语句(CRUD,函数和过程)
CRUD操作中除了查询操作,其他都统一称为更新操作,因为增删改都是更新数据库表的,SqlMap API中对应的方法就是insert,update和delete,我们逐一来看。 insert方法的方法签名为:Object insert(String id, String parameterObject) throws SQLException。那么我们需要传递的参数就是XML文件中...2012-08-26 21:40:37 · 121 阅读 · 0 评论 -
iBatis中使用XML
本文系[url=http://www.iteye.com/blogs/subjects/ibatisdev]iBatis开发详解[/url]系列文章之在iBatis中使用XML 在实际应用中,很多时候我们使用到了XML格式的数据,比如FushionChart,iBatis允许使用XML作为数据库查询操作的参数,也允许数据库查询结果返回一个XML格式的数据。如果不是必须,使用XML...2012-08-29 19:57:00 · 396 阅读 · 0 评论 -
iBatis查询复杂集合
本文系[url=http://www.iteye.com/blogs/subjects/ibatisdev]iBatis开发详解[/url]系列文章之在iBatis查询复杂集合 通常我们使用iBatis的select查询都是映射的简单对象,即便在一个查询中连接多个表也是如此,那么既然iBatis是SQL Mapper,也就是说它可以映射复杂集合,我们来看看如何让对象模型向数据模型...2012-09-04 20:23:59 · 179 阅读 · 0 评论 -
Spring数据库访问(HSQL)(四)
本文接[url=http://sarin.iteye.com/blog/869978]上一篇[/url]继续研究Spring的JDBC模板。 之前,我们使用JDBC模板的方法是在每次调用方法时生成该对象,并使用了一个dataSource作为参数,这个dataSource是在生成DAO的实现类时Spring进行注入的。显然,这样的方式并不是最佳的做法,因为每次方法调用时都需要重新生...2011-01-16 21:49:36 · 121 阅读 · 0 评论 -
Spring数据库访问(HSQL)(三)
本文接[url=http://sarin.iteye.com/blog/868052]上一篇[/url]继续研究JDBC模板。 之前说的都是插入操作,在我们使用自增主键的时候有时我们想立刻获得数据库为我们生成的主键值,那么jdbcTemplate是支持这个操作的,只是写起来麻烦一些,可以这么来做:[code="java"] JdbcTemplate jdbcTemplate...2011-01-13 10:07:03 · 136 阅读 · 0 评论 -
Hibernate中复合主键的映射
Hibernate中除了使用来生成主键之外,还可以根据具体的需求让持久化类的标识符属性映射成数据库的符合主键。为了说明问题,我们首先在数据库建立一个USERS表,其中主键使用USERNAME和BIRTH_DATE作为复合主键。其中创建表的SQL语句如下:[code="sql"]create table USERS( USERNAME VARCHAR2(20) NOT NULL,...2010-04-15 15:42:57 · 73 阅读 · 0 评论 -
iBatis的简单增删改查(CRUD)操作
本文在[url]http://sarin.iteye.com/blog/677623[/url]的基础之上继续展开。 iBatis是基于SQL的数据持久层框架,那就是要书写SQL语句进行数据库操作。对比于Hibernate虽然在对象属性的扩展上修改麻烦但是对SQL的集中管理和主动权,也还是不错的。下面我们来探讨iBatis中的简单增删改查(CRUD)操作,这也是数据库应用的基本操...2010-07-18 10:00:14 · 145 阅读 · 0 评论 -
iBatis的详细配置
iBatis的简单增删改查操作非常容易掌握,下面我们来看看iBatis的详细配置。虽然iBatis小巧灵活,但是其可扩展性也非常强。iBatis的核心配置文件就是SqlMapConfig.xml了,下面我们来看看iBatis的核心配置结构。 SqlMapConfig配置文件在前面我们知道要配置JDBC连接,SqlMap映射文件等信息,当然这都是非常基本的配置,现在我们要探究一下Sq...2010-07-24 13:01:36 · 117 阅读 · 0 评论 -
iBatis查询API
先说点基础的内容,iBatis并不是真正意义上的ORM,官方文档中称其为dataMapper,是数据映射器,也就是一种映射查询工具。iBatis不是万能的,在某些它不能处理的问题时,不能放弃使用JDBC API,那才是根本中的根本。 在iBatis中,建议使用JavaBean,因为我们是面向对象的设计,那么在系统设计时肯定创建了很多刻画具体对象的类,使用JavaBean就可以直接...2010-07-31 13:04:21 · 93 阅读 · 0 评论 -
iBatis查询select详解
是iBatis已经映射的语句类型,就是查询了,为了配合说明,这里再介绍两个标记:和,前者用来创建一个文本片段,这些片段可以组合起来创建完整的SQL语句;后者很显然就是包含的意思了。假设我们有如下代码段:[code="xml"] select * from users select count(*) as value from users #value:IN...2010-08-07 12:19:33 · 300 阅读 · 0 评论 -
Hibernate开发环境建立和第一个程序
Hibernate是一个优秀的开源ORM框架,就是符合Java语言习惯的关系型数据库持久化方案。目前主流数据库还都是关系数据库,也就是二维表结构,而Java语言是面向对象的语言,程序中操纵的是对象,那么刻画对象的一组数据怎样存入数据库?这就是Hibernate要完成的工作-对象数据的持久化。当然,持久化可以是写入文件系统也可以是写入数据库,而大规模数据存取时,程序直接IO的效率和易用性,可...原创 2010-02-15 16:34:12 · 114 阅读 · 0 评论 -
Hibernate单例实现(Struts1+Hibernate整合)
大家都知道的一件事情,Hibernate启动时需要加载配置文件,连接数据库并映射对象,这一过程需要大量时间,每次运行测试文件时控制台的反馈已经可以看出来了,那么在整合开发时,必然不能每次数据操作都让Hibernate执行一次这个过程,需要在程序初始化时一并完成,完成这件事情需要单例模式的实现,这一过程是简单的。我们可以如下进行:[code="java"]package demo;i...原创 2010-02-17 13:37:36 · 119 阅读 · 0 评论 -
hibernate.properties和hibernate.cfg.xml
hibernate配置文件可以有两种方式:官方推荐的XML配置文件和属性配置文件。我们大都采用XML方式的配置,因为结构良好,配置灵活,可读性强。而且可以在XML中直接配置映射文件而属性文件则不行。但是我们可能忽略的一个问题是:hibernate首先查找的配置文件却是属性配置文件hibernate.properties。 看看下面这张图,就很清楚了。[img]http://d...原创 2010-02-24 14:07:39 · 135 阅读 · 0 评论 -
Hibernate标识符属性(主键)生成策略全析
数据库中的主键能够唯一识别一条记录,它可以是一个字段也可以是多个字段的组合。主键的主要作用是标识表中的一条记录,还有和其他表中的数据进行关联。数据库中的主键类型必须符合唯一性约束和非空约束。作为附加属性,主键应该尽可能简洁,不要包含过多属性。根据这个原则,主键可以分为自然主键和代理主键。 自然主键是数据表中有逻辑含义的字段,比如身份证号来唯一确定一条个人记录。也可以通过学号和课程...原创 2010-03-02 14:31:41 · 126 阅读 · 0 评论 -
iBatis开发环境搭建和第一个程序
iBatis是一款使用方便的数据访问工具,也可作为数据持久层的框架。和ORM框架(如Hibernate)将数据库表直接映射为Java对象相比,iBatis是将SQL语句映射为Java对象。相对于全自动SQL的Hibernate,iBatis允许你对SQL有完全控制权,可以视为半自动的数据访问工具。 iBatis的最大优点是简便,轻量级,仅需iBatis的一个jar和数据库的驱动即...2010-05-28 10:37:41 · 86 阅读 · 0 评论 -
Java反射模拟Webwork的URL解析
Webwork是一款优秀的WEB应用框架,在其基础之上发展而来的Struts2已经开始替代Struts作为MVC模式下的WEB框架。熟悉Webwork的程序员很容易过渡到Struts2。本文来模拟一下Webwork的URL解析,应用反射机制实现,只作为说明,当然没有webwork本身实现的完美。 Webwork默认解析的服务请求名是.action,这个过程是Servlet容器完成...2010-06-15 17:14:50 · 132 阅读 · 0 评论 -
Java对象识别(Hibernate应用)
本文在[url]http://sarin.iteye.com/blog/603684[/url]和[url]http://sarin.iteye.com/blog/644678[/url]的基础之上继续研究,探究Java对象识别时的应用,并通过Hibernate来说明。 Java语言中判断对象是否相等有两种方式,一种是使用“==”来比较,一种是使用equals()方法来比较,前者...2010-06-23 09:42:32 · 120 阅读 · 0 评论 -
Hibernate持久化对象的生命周期详解
在Hibernate中,持久化对象在被操作过程中可以分为三个时期,这三个时期是和Session的周期相关的,因为Hibernate中的操作都是基于Session完成的。所以Session对象的生命周期也关系着持久化对象的生命周期。 持久化对象的生命周期有三种,分别是瞬时态(Transient),持久态(Persistent)和脱管态(Detached)。 瞬时态的对象是...2010-06-29 09:45:17 · 120 阅读 · 0 评论 -
Spring数据库访问(HSQL)(一)
本部分主要介绍Spring的JDBC模板,JDBC模板的使用,结合Java开源小型数据库HSQL来做详细介绍。 JDBC都不陌生,它是Java语言操作关系型数据库的规范,是各类JDBC框架/ORM框架的核心基础。普通JDBC的操作过程是繁杂而且大量重复的,使用框架就是为了简化其中的冗余过程,提高代码可维护性。JDBC模板(jdbcTemplate)是为数据库操作提供的大量模板方法...2011-01-09 23:34:23 · 370 阅读 · 0 评论 -
Spring数据库访问(HSQL)(二)
[url=http://sarin.iteye.com/blog/866578]上一篇[/url]我们介绍了HSQL数据库的基本概念和操作,我们现在从HSQL的服务器模式开始,使用Spring来操作JDBC。HSQL内嵌了服务器模式的启动方式,不过需要使用java命令来运行,可以参考官方文档。为了演示的方便,我们使用程序启动服务器,做法也很简单。如下:[code="java"]pack...2011-01-11 11:27:25 · 140 阅读 · 0 评论 -
iBatis操作DDL和映射继承
本文系[url=http://www.iteye.com/blogs/subjects/ibatisdev]iBatis开发详解[/url]系列文章之iBatis操作DDL和映射继承。 DDL作为SQL的一个子集,是专门用于数据定义的语言,也就是我们所说的对数据库表/模式的操作。最为常见的就是修改表的结构,比如添加字段,修改字段类型,为字段改名等。那么我们来看看如何使用iBati...2012-09-09 21:46:37 · 501 阅读 · 1 评论