2007年1月10日

Hibernate数据查询

摘要: Hibernate Query Language(HQL)Criteria QueryNative SQL下面对其分别进行解释Hibernate Query Language:HQL提供了是十分强大的功能,它是针对持久化对象,用取得对象,而不进行update,delete和insert等操作。而且HQL是面向对象的,具备继承,多态和关联等特性。from子句:from子句是最简单的HQL,例如fro... 阅读全文

posted @ 2007-01-10 01:06 冯岩 阅读(24020) 评论(0) 推荐(2)

2007年1月9日

(Hibernate)cascade

摘要: 在我前面的笔记中已经写过关联关系的使用,但主要是演示,在这篇中,我将再细分析! 利用关联关系操作对象: 数据对象之间的关联关系有一对一,一对多及多对多三种。在数据库操作中,数据对象之间的关联关系使用JDBC处理很困难。例如,当删除一个班级的信息时,还要删除该班级的所有学生的基本信息。如果直接使用JDBC执行这种级联操作,会非常繁锁。Hibernate通过把实体对象之间的关联关系及级联关系在映射文件中声明,比较简单地解决了这类级联操作问题。 阅读全文

posted @ 2007-01-09 22:42 冯岩 阅读(5637) 评论(3) 推荐(0)

Hibernate框架核心组件

摘要: 在Hibernate框架简述中,演示了一个简单的Hibernate应用,但并没有深入说明其中程序,在这篇中将比较详细的介绍一下Hibernate的核心组件。首先最关键一点就是Hibernate的配置文件,如果仔细看过我前面的笔记构建一个简单的基于MVC模式的JavaWeb ,我们可以大概知道hibernate的配置文件就相当于构建一个简单的基于MVC模式的JavaWeb 一文中的db.proper... 阅读全文

posted @ 2007-01-09 07:41 冯岩 阅读(8617) 评论(0) 推荐(1)

Hibernate框架简述

摘要: Hibernate的核心组件包括以下几部分: a)Configuration类:用来读取Hibernate配置文件,并生成SessionFactory对象。 b)SessionFactory接口:产生Session实例工厂。 c)Session接口:用来操作PO。它有get(),load(),save(),update()和delete()等方法用来对PO进行加载,保存,更新及删除等操作。它是Hibernate的核心接口。 d)Query接口:用来对PO进行查询操。它可以从Session的createQuery()方法生成。 e)Transaction接口:用来管理Hibernate事务,它主要方法有commit()和rollback(),可以从Session的beginTrancation()方法生成。 阅读全文

posted @ 2007-01-09 03:18 冯岩 阅读(90460) 评论(16) 推荐(30)

2007年1月8日

(Struts)Validator验证框架

摘要: Struts1.1及以上版本在提供了DynaActionForm的同时,配合数据验证的需要,还提供了表单输入自动验证的功能,即使用Validator验证框架。 在使用Validator验证框架时,需要用到二个基于XML的配置文件进行验证规则的配置,一个是validator-rules.xml,另一个是validation.xml。这两个文件应该部署在相应的WEB应用中的WEB-INF文件夹下。此处validator还应在struts-config.xml中进行配置。 在Struts-config.xml中配置Validator Validator框架是作为一个Struts插件配置到Struts应用中的,即Struts扩展中的PlugIn机制。通过在Struts配置文件中配置Validator插件,Struts应用在启动的时候就能够知道Validator框架正在被使用,加载并初始化Validator框架。 阅读全文

posted @ 2007-01-08 08:08 冯岩 阅读(4658) 评论(8) 推荐(0)

(Struts)动态ActionForm

摘要: 使用ActionForm可以给开发者在处理HTML表单时带来极大的帮助,它简化了代码的编写,并提供了自动的数据验证。但是,ActionForm也存在几个非常明显的缺点。 首先,如果ActionForm对应的HTML表单添加或删除一些属性,ActionForm类就可能需要修改并重新编译; 其次,如果HTML表单是动态的,那么ActionForm更是无能为力了; 另外,ActionForm增加了项目中类的绝对数量! 于是从Struts1.1起,就引入了动态ActionForm(DyanActionForm)概念。动态ActionForm使得用户无须为应用程序的每一个HTML表单创建具体的ActionForm类。Struts框架包中的DyanActionForm类及其子类实现了动态ActionForm. 阅读全文

posted @ 2007-01-08 07:08 冯岩 阅读(5265) 评论(1) 推荐(0)

Struts中的国际化

摘要: ”国际化“是指一个应用程序在运行时能够根据客户端请求所来自的国家/地区,语言的不同而显示不同的用户界面。例如,请求来自一台中文的操作系统的客户端计算机,则应用程序响应界面中的各种标签,错误提示和帮助信息均使用 中文文字;如果客户端计算机采用的是英文操作系统,则应用程序也应能识别并自动以英文界面做出响应。 阅读全文

posted @ 2007-01-08 06:03 冯岩 阅读(1330) 评论(0) 推荐(0)

(Struts)ActionForm类及表单数据验证

摘要: ActionForm本质上是一种JavaBean,是专门用来传递表单数据的DTD(Data Transfer Object,数据传递对象)。它包括用于表单数据验证的validate()方法和用于数据复位的reset()方法。 Struts框架利用ActionForm对象来临时存放视图页面中的表单数据。例如,一个登录页面会有一个用户名输入框和一个密码输入框,以及用来提交登录请求的按扭。当用户提交登录请求后,Struts将 用户名和密码两个输入域的数据自动填充到相应的ActionForm对象中,然后控制层可以从该ActionForm对象中读取用户输入的表单数据,也可以把来自模型层的数据存放到ActionForm中,然后返回给视图显示。 阅读全文

posted @ 2007-01-08 04:43 冯岩 阅读(16209) 评论(7) 推荐(6)

(Struts)Action类及其相关类

摘要: org.apache.struts.action.Action类是Struts的心脏,也是客户请求和业务操作间的桥梁。每个Action类通常设计为代替客户完成某种操作。 一旦正确的Action实例确定,就会调用RequestProcessor类的processActionPerform()方法。该方法的结构如下: 阅读全文

posted @ 2007-01-08 02:09 冯岩 阅读(3946) 评论(0) 推荐(0)

Struts的中央控制器

摘要: ActionServlet类作为中心Servlet,负责处理所有到来的用户请求。当ActionServlet接收到一个用户请求时,将执行如下流程: 1.检索和用户请求匹配的ActionMapping实例,如果不存在,就返回用户请求路径无效的错误信息。 2.如果为ActionMapping配置了Form Bean,则获取相应范围内的ActionForm实例。如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中。 3.根据ActionMapping配置信息决定是否需要验证表单。如果需要验证,就调用ActionForm的validate()方法。 4.如果ActionForm的validate()方法返回null,或者返回一个不包含任何ActionMessage的ActionErrors对象,就表明表单验证成功,继续执行下一步。否则返回input属性指定的页面,并向用户显示ActionErrors集合中的错误信息。 5.ActionServlet根据ActionMapping实例包 阅读全文

posted @ 2007-01-08 01:10 冯岩 阅读(2226) 评论(1) 推荐(1)

2007年1月7日

Struts配置文件初解

摘要: struts-config.xml是Struts的核心文件。该文件可配置各种组件,包括,FormBeans,Actions,ActionMappings,全局转发GlobalForwards,数据源DataSources及插件Plugin,这篇文件我结合在(Struts重构)构建一个简单的基于MVC模式的JavaWeb一文来说说Struts配置文件struts-config.xml的主要元素! 阅读全文

posted @ 2007-01-07 21:01 冯岩 阅读(2840) 评论(0) 推荐(1)

2007年1月6日

(Struts重构)构建一个简单的基于MVC模式的JavaWeb

摘要: 在构建一个简单的基于MVC模式的JavaWeb 中,我们使用了JSP+Servlet+JavaBean构建了一个基于MVC模式的简单登录系统,但在其小结中已经指出,这种模式下的Controller 和 View有紧密的耦合度,因为在Controller代码中夹杂了组件部份的名称! 那么在这一篇我,我再改用Struts框架来构建这个系统,要注意的是,构建Struts应用程序时,一般不用自己去写中心控制器ActionServlet代码,因为ActionServlet是Struts框架的一个内置组件。但我们需要编写ActionForm和Action等组件的代码。 阅读全文

posted @ 2007-01-06 05:19 冯岩 阅读(2303) 评论(0) 推荐(0)

构建一个简单的基于MVC模式的JavaWeb

摘要: MVC设计模式是目前使用得比较多的一种设计模式,最早出现在Smalltalk中,后来广泛应用于Java Web 应用程序中。Model(模型)表示业务逻辑层,View(视图)代表表示层,Contraller(控制器)代表控制层! 阅读全文

posted @ 2007-01-06 03:50 冯岩 阅读(12880) 评论(0) 推荐(1)

2007年1月3日

SSH Project热身整合

摘要: SSH为Struts+Spring+Hibernate三个首字母缩写,为目前很多公司所采用的一种软件架构方式,当然随着UI层的不断出新,也有JSF和AJAJX代替Struts来做UI。 SSH的 优点就是使用不同的三种框架,每层使用它们三种框架中的最优秀部份,当然,三种框架其实独自都可以实现MVC! 阅读全文

posted @ 2007-01-03 23:59 冯岩 阅读(1298) 评论(0) 推荐(0)

2007年1月1日

Spring AOP(补充)

摘要: 在Spring中所有的通知都是以JAVA类的形式编写,这意味着你可以旬开发普通JAVA开发那样在集成开发环境(IDE)中开发切面,而在什么地方应用切入点通常写在Spring配置文件中。这意味着切面代码和配置语法对于JAVA开发人员来说都是很熟悉的! 相对比AspectJ则需要写特定的语法来编写切面和定义切入点。而Spring则非常方便简单! 另外Spring AOP实现了AOP Allinace所有的规范接口!但它与JBOSS,AspectJ不同之处在于Spring它只支持方法切入点,而不支持属性做为切入点! 阅读全文

posted @ 2007-01-01 03:20 冯岩 阅读(3226) 评论(0) 推荐(0)

2006年12月31日

Spring AOP

摘要: 面向切面性,首先什么是切面,我们小时候应该削过铅笔,我们一刀削下去 不就有一个切面吗,我们学习的几何中也有经常要计算一个切面的面积,就是一个面,其实也就相当于我前面讲到的网游,我们的角色本来是只有血这样的属性,但它本身并没有加血这样一种行为,我们设计一扇魔法门,角色经过的时候就会加血!那么我们在设计这个战士的时候只设计一个普通的OO就行了,那么门就是一切面,当角色经过的时候就有了该服务!如果不经过,那么我们的角色依然是完整的!这就是面向切面性! 阅读全文

posted @ 2006-12-31 22:44 冯岩 阅读(1453) 评论(0) 推荐(0)

Spring 中的 Bean

摘要: 此时我们直接运行,发现依然成功!得到了“湖北 武汉”,为什么它能自动输出呢,也就是我们的User.java中本身有二个属性 userName 和myhome,其中有一个属性我们设定了,另外一个没有设定,这时它就会去找,那么找的时候有下面几种方式,这里我说说bean中的autowire属性,它有以下几种取值: autowire="byType",可以使bean在运行的时候根据需要去寻找同类型的已经在applicationContext.xml中定义了的属性,如果找不到,则处于未绑定状态。 autowire="byName",可以使bean在运行时根据需要去寻找同名的已在applicationContext.xml中定义的属性,如果找不到处于未绑定状态。 autowire="autodetect":这个是一个个式,直到找到合适的! autowire="constractor",可以使bean在运行的时候根据已在applicationContext.xml中定义的的属性去寻找相关的构造方法属性,如果找不到则牌未绑定状态,它使用的是byType, 我们如 阅读全文

posted @ 2006-12-31 16:35 冯岩 阅读(909) 评论(3) 推荐(0)

初识Spring

摘要: 我们可以在玩游戏的时候经常有这样情景,假如存在一个通道,其中有二个门,假设当我们的角色通过第一道门的时候,我们的红会加100,而再通过第二道门的时候我们的蓝会加100,现在提出一个问题,就是假如我们这个游戏里面该通道上没有这二个门,是正常的吗?当然是,也行!只不过人物角色不能在通过该通道的时候加红和蓝,并不影响游戏的整体!就是说有一些服务在我们的WEB应用程序中不是一些必须的服务,就像是Log4J,日志服务!假如说没有它,我们的程序也行,就是像这样的一些服务,它与我们的应用程序需求无关,但我们又提供了,那么程序中其实有时候有许多这样的情景,就是程序并不是必须,好比上面的门,我们看整个通道,那么这二个门是不是好比是二个切面呢?我们穿过一个门的时候是不是穿过一个空间的切面了!这种就叫做面向切面性,把一种技术做成一种切面的形式,你只要通过这个切面的形式,你就获得了这个服务,它其实是面向对象的一种补长,因为面向对象性它只能做为一个对象,我们就必须把一个对象完整的做出来,那么好比上面的游戏,有这样一个战士,我们做一个战士类,那么当它经过那二门的时候,我们如果以面向对象来考虑,那么 我们要在战士这 阅读全文

posted @ 2006-12-31 03:16 冯岩 阅读(1382) 评论(4) 推荐(2)

2006年12月30日

Hibernate 表关系描述之ManyToMany

摘要: 上篇写了一对一,那么在这篇我们讲一对多,那么在表中的一对多,是使用外键关联,通过一张表的一个键另一个表的外键来建立一多关系; 而在类中表示为一个类中有一个集合属性包含对方类的很多对象,而在另一个类中,只包含前术类的一个对象,从而实现一对多关系的建立! 而在Hibernate中采用的是Set类型集合,而使用主来实现,好了,我们来看一下: 在上一篇中讲到一对多,那么在此补充一下多对多; 在数据库中也有多对多的关系,数据中的实现方式一般是采用存在多对多关系的两个对对象表,建立多对多关联表,也就是用一个独立的表来存入两个表的主键字段,通过遍历这张表来获取两表的关联关系。 而在我们的对象中,多对多是通过两者对象类中互相建立对方类的对象集合,类似上一篇讲到的一对多的集合类! 在Hibernate中当然就是通过了 阅读全文

posted @ 2006-12-30 19:09 冯岩 阅读(3136) 评论(3) 推荐(0)

Hibernate 表关系描述之OneToMany

摘要: 上篇写了一对一,那么在这篇我们讲一对多,那么在表中的一对多,是使用外键关联,通过一张表的一个键另一个表的外键来建立一多关系; 而在类中表示为一个类中有一个集合属性包含对方类的很多对象,而在另一个类中,只包含前术类的一个对象,从而实现一对多关系的建立! 而在Hibernate中采用的是Set类型集合,而使用主来实现,好了,我们来看一下:首先看看表结构! customer表: create tabl... 阅读全文

posted @ 2006-12-30 02:31 冯岩 阅读(6456) 评论(6) 推荐(0)

2006年12月29日

Hibernate 表关系描述之OneToOne

摘要: 在数据库领域中,数据表和数据表之间关系一般可以分为如下几种: 单对单:比如公民和身份证的关系,一个人只有一张身份证,同时每张身份证也仅仅对应一个人! 单对多:比如单个客户和订单之间的关系,每个客户可以同时下多张订单! 多对多:比如学生管理系统中,学生与课程,教师与学生之间的关系! 上面是简单的说了下数据库表与表之间的关系,那么我们现在要说的是Hibernate,来看看Hibernate中如何使用表与表的关系,首先来看看我数据库中二个示例表user和card分别表示用户和身份证!二个表中分别有二字段,创建表的DDL如下 阅读全文

posted @ 2006-12-29 00:07 冯岩 阅读(2665) 评论(0) 推荐(0)

2006年12月28日

Hibernate 初识(补充)

摘要: 上一篇主要是写了手动写Hibernate , 这一篇加点补充,主要是关于使用Eclipse自动 生成,好了,进入正题: Step1:首先我们新建一个WebProject! Step2:在src下新建一个包我取名为 fengyan.hibernate,用于存放Hibernate的配置文件 Step3:现在用MyEclipse添加Hibernate,选中fengyan.hibernate包,单击... 阅读全文

posted @ 2006-12-28 18:43 冯岩 阅读(1512) 评论(0) 推荐(1)

2006年12月27日

MySQL的基本使用

摘要: 现在终于明白为什么好多人都使用MySQL,一是它比较小,N节省硬盘资源,特别是系统盘,另外最大的好处 莫过于它很节省系统资源,SQLSERVER2005 和 ORACLE都是对系统要求最少1G的内存! 所以也打算以后开发就使用它了~~~ 阅读全文

posted @ 2006-12-27 01:34 冯岩 阅读(1746) 评论(1) 推荐(0)

2006年12月25日

Hibernate 初识

摘要: 在Struts学完模型后,本来是想做一个例子的,但已经发现要与Hibernate联系起来了。于是今天 新增了Hibernate分类。好了,废话不多说,进入主题! Hibernate是对象模型与关系数据库模型之间的桥梁!Hibernate位于软件应用的持久化层,它应用了ORM机制,对象关系映射!随着软件规模的不断增大,软件的体系结构逐渐由向多层体系发展,现在一般的公司在招聘程序员的时候都要求有多层开发经验!那么我们先来看看分层体系的发展。。。 阅读全文

posted @ 2006-12-25 13:19 冯岩 阅读(1759) 评论(0) 推荐(1)

2006年12月24日

struts 学习之04 "模型"

摘要: 模型代表应用的业务数据和逻辑。Struts框架并没有为设计和创建模型提供现成的框架,因为在前面我们已经说过,Struts主要用于做UI层!不过,Struts允许使用其他模型框架来处理应用的业务领域,如EJB(Enterprise JavaBean)它里面主要是实体Bean,,和JDO(Java Data Object),以及常规的JavaBean和ORM(Object-Relation Mapping)对象关系映射的Hibernate... 阅读全文

posted @ 2006-12-24 04:39 冯岩 阅读(622) 评论(0) 推荐(0)

导航