自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

琢磨的专栏

有事者,事竟成;破釜沉舟,百二秦关终归楚;苦心人,天不负;卧薪尝胆,三千越甲可吞吴。

  • 博客(23)
  • 问答 (1)
  • 收藏
  • 关注

转载 转MyFaces的扩展过滤器

扩展过滤器是做什么的?一些MyFaces 组件在页面中包含的比一些HTML更多一些.它们可能需要附加的支持脚本,样式表,图片...那些资源文件都包含在MyFaces的jar包文件里 ,扩展过滤器添加代码和URL所需要提供的那些资源文件到生成的HTML.一些其它组件,像文件上传组件(t:inputFileUpload)需要解析 Multipart 请求.扩展过滤器也就处理这个.为什么这是有用的?这样

2008-01-18 15:34:00 1145

转载 转 业务层中 被调用服务的遭遇事务回滚的处理 2方法

本文主要探讨如何利用Spring来装配组件,包括其事务上下文。从J2EE应用程序内部连接到单个的数据库并不是什么难事。但是,如果要装配或者集成企业级的组件,情况就复杂了。一个组件可以有一个或多个支持它的数据库,因此,当装配两个或更多的组件时,我们希望能够保持在跨组件的多个数据库中进行的操作的原子性。J2EE服务器为这些组件提供了一个容器来保证事务原子性和跨组件独立性。如果使用的不是J2EE服务器,

2008-01-18 15:05:00 2450

转载 转spring声明式事务管理祥述

Spring也提供了声明式事务管理。这是通过Spring AOP实现的。Spring 中进行事务管理的通常方式是利用AOP(面向切片编程)的方式,为普通java类封装事务控制,它是通过动态代理实现的,由于接口是延迟实例化的, spring在这段时间内通过拦截器,加载事务切片。原理就是这样,具体细节请参考jdk中有关动态代理的文档。本文主要讲解如何在spring中进行事务控制。动态代理的一个重要

2008-01-18 14:37:00 449

原创 成功激励格言精选汇编

          1、每一个成功者都有一个开始。勇于开始,才能找到成功的路。    2、世界会向那些有目标和远见的人让路(冯两努——香港著名推销商)    3、造物之前,必先造人。    4、与其临渊羡鱼,不如退而结网。    5、若不给自己设限,则人生中就没有限制你发挥的藩篱。    6、赚钱之道很多,但是找不到赚钱的种子,便成不了事业家。    7、蚁穴虽小,溃之千里。    8、最有效的资

2005-11-19 16:19:00 781

转载 入門 19 - 一對多實體映射

在前一個主題中,User對Room是多對一,反過來看,Room對User是一對多,一個Room可以給多個User住宿使用,我們的User類別這次設計如下:User.javapackage onlyfun.caterpillar;public class User { private long id; private String name;

2005-09-20 21:38:00 1046

转载 入門 18 - 多對一實體映射

一個實體簡單的說就是在資料庫中擁有一個表格的物件,並擁有自已的資料庫識別(database identity),之前介紹的Component物件並不是實體,它沒有自已的資料庫識別,具體的話,它沒有id屬性,Hibernate並不會賦予它id值。 實體與實體之間的關係有:一對一、多對一、一對多、多對多。其中多對一算是最常見的實體關係,舉個簡單的例子,假設您在撰寫一個宿舍管理系統,一般來說,房客與房間

2005-09-20 21:36:00 1148

转载 入門 17 - 實作equals和hashCode

Hibernate並不保證不同時間所取得的資料物件,其是否參考至記憶體的同一位置,使用==來比較兩個物件的資料是否代表資料庫中的同一筆資料是不可行的,而Object預設的equals()本身即比較物件的記憶體參考,如果您要有必要比較透過查詢後兩個物件的資料是否相同(例如當物件被儲存至Set時)您必須實作equals()與hashCode()。 一個實作equals()與hashCode()的方法是

2005-09-20 21:31:00 722

转载 入門 16 - 物件狀態與識別入門 16 - 物件狀態與識別

在之前的主題大致瞭解Hibernate的基本操作與ORM之後,我們來重新探討一些Hibernate底層的一些機制,首先從Hibernate的物件狀態開始討論。 Hibernate中的物件可以分為三種狀態:暫存(Transient)物件、持久(Persistent)物件、分離(Detached)物件。 暫存物件指的是在Java程式流程中,直接使用new製作出之物件,例如在之前的例子中,User類別所

2005-09-20 21:28:00 865

转载 入門 15 - Component的集合映射

先前所介紹的集合映射都只使用了String屬性表示一個資料庫欄位的內容,在之前的一個主題中我們看過,我們可以將一個欄位的內容映射至一個Component物件:入門 10 - Component 映射如果我們想要將Component物件儲存至集合物件中,例如將Email物件儲存至HashSet中,在映射時只需要將 標籤改為,並指定映射的類別,舉個實際的例子來說好了,我們撰寫以下的User類別,它的a

2005-09-20 21:25:00 798

转载 入門 14 - Set與Map的排序

在查詢物件的Set或Map成員時,您可以對其進行排序,排序可以在兩個層次進行,一個是在Java執行環境中進行,一個是利用資料庫本身的排序功能。如果要在Java執行環境中進行排序,可以映射文件中設定sort屬性,例如若為Set,則如下設定:"addrs" table="ADDRS" sort="natural"> "USER_ID"/> "string" colu

2005-09-20 21:22:00 803

转载 入門 13 - Map 映射

假設您現在要設計一個線上檔案管理,每一個使用者可以上載自己的檔案,並為檔案加上描述,我們可以使用Map型態物件來記錄上傳的檔案,以檔案描述作為鍵(key),以檔案名稱作為值(value),我們的User類別設計如下:User.javapackage onlyfun.caterpillar;import java.util.*;public class User { pri

2005-09-20 21:20:00 787

转载 入門 12 - List 映射

這邊介紹如果物件中包括List型態的屬性時如何進行映射,首先我們假設我們要製作一個線上檔案管理,使用者上載的檔案名稱可能是重複的、具有相同名稱,之前使用的Set不允許有重複的內容,所以這次我們改用List,我們的User類別撰寫如下:User.javapackage onlyfun.caterpillar;import java.util.*;public class User {

2005-09-20 21:17:00 775

转载 入門 11 - Set 映射

這個主題介紹如果在物件中包括集合物件,像是使用HashSet來包括其它物件時,該如何進行物件與資料表的映射,像Set這樣的集合,可以包括所有的Java物件,這邊先介紹當Set中包括的物件沒有實體(Entiy)時的映射方式。 (簡單的說,也就是所包括的物件沒有物件識別(identity)值,沒有資料庫層次上的識別值之表格與之對應的物件,只是純綷的值型態(value type)物件,關於Entity與

2005-09-20 21:12:00 863

转载 入門 10 - Component 映射

考慮這麼一個物件類別:User.javapackage onlyfun.caterpillar;public class User { private String id; private String name; private char sex; private int age; private String address;.

2005-09-20 21:09:00 879

转载 入門 09 - 繼承映射2

接續上一個主題,我們來看看繼承關係映射的第三種方式,我們給予父類別與每個子類別一個表格,與第一個方法不同的是,父類別映射的表格與子類別映射的表格共享相同的主鍵值,父類別表格只記錄本身的屬性,如果要查詢的是子類別,則透過外鍵參考從父類別表格中取得繼承而來的屬性資料。 直接以圖片說明會比較容易理解,我們使用前一個主題中的User、PowerUser與GuestUser類別作說明,類別繼承圖如下: 其映

2005-09-20 21:07:00 666

转载 入門 08 - 繼承映射1

如果應用程式中的物件有繼承的關係,我們可以有三種策略將這種關係映射至資料表上。 最簡單的方式就是給每個物件一個表格,如果父類別User中有field1、field2兩個屬性,其表格USER有FIELD1、FIELD2與之對應,而子類別SubUser若繼承了父類別的field1、field2屬性,表格中SUBUSER中也要擁有FIELD1、FIELD2與之對應,這種方法的好處只有映射上的方便,很顯然

2005-09-20 21:04:00 705

转载 入門 07 - 更新,刪除資料

如果您是在同一個Session中取出資料並想要馬上進行更新,則只要先查詢並取出物件,透過setXXX()方法設定好新的值,然後呼叫session.flush()即可在同一個Session中更新指定的資料,例如:HibernateTest.javaimport onlyfun.caterpillar.*;import net.sf.hibernate.*;import net.sf.hibe

2005-09-20 21:01:00 803

转载 入門 06 - Query介面

除了直接使用find()方法並配合HQL來進行查詢之外,我們還可以透過 net.sf.hibernate.Query介面的實例來進行查詢,透過Query介面,您可以先設定查詢參數,之後透過setXXX()等方法,將指定的參數值填入,而不用每次都撰寫完整的HQL,直接來看個例子:Query query = session.createQuery("select user.name from User

2005-09-20 20:56:00 724

转载 入門 05 - 基本資料查詢

使用Hibernate進行資料查詢是一件簡單的事,Java程式設計人員可以使用物件操作的方式來進行資料查詢,查詢時使用一種類似SQL的HQL(Hibernate Query Language)來設定查詢的條件,與SQL不同的是,HQL是具備物件導向的繼承、多型等特性的語言。 直接使用範例來看看如何使用Hibernate進行資料庫查詢,在這之前,請先照之前介紹過的主題在資料庫中新增幾筆資料:在Hib

2005-09-20 20:55:00 744

转载 入門 04 - 提供JDBC連接

如果需要的話,您可以自行提供JDBC連接物件給Hibernate使用,而無需透過配置文件設定JDBC來源,一個最簡單的例子如下:Class.forName("com.mysql.jdbc.Driver");String url = "jdbc:mysql://localhost:3306/HibernateTest?user=root&password=";java.sql.Connect

2005-09-20 20:54:00 837

转载 入門 02 - 第一個Hibernate程式

這邊以一個簡單的單機程式來示範Hibernate的配置與功能,在這個例子中的一些操作,實際上會使用一些自動化工具來完成,而不一定親自手動操作設定,這邊完全手動的原因,在於讓您可以知道Hibernate實際上會作那些動作,在進行範例之前,請先確定前一個主題中的相關jar檔案都已經設定在CLASSPATH中。 我們先作資料庫的準備工作,在MySQL中新增一個HibernateTest資料庫,並建立US

2005-09-20 20:52:00 921

转载 入門 03 - 配置文件

Hibernate可以使用XML或屬性檔案來配置SessionFactory,預設的配置文件名稱為hibernate.cfg.xml或hibernate.properties。 上一個主題中所示範的為使用XML文件的方式,一個XML文件的例子如下:hibernate.cfg.xml<!DOCTYPE hibernate-configuration PUBLIC "-//Hiberna

2005-09-20 20:52:00 615

转载 入門 01 - Hibernate所需類別庫

Hibernate是ORM的解決方案,其底層對資料庫的操作依賴於JDBC,所以您必須先取得JDBC驅動程式,在這邊我們使用的是MySQL,所以您必須至以下網址先取得MySQL的JDBC驅動程式:JDBC驅動程式  接下來取得Hibernate,在撰寫此文的同時,Hibernate最後的穩定版本是2.1.6,而3.0版還在測試階段,這邊的介紹將以2.1.6為主,所以請至以下網址取得hibernate

2005-09-20 20:49:00 846

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除