夢幻之旅
DEBUG - 天道酬勤
::
首頁
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
::
671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
<
2009年6月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
公告
本博客中未注原創(chuàng)的文章均為轉(zhuǎn)載,對轉(zhuǎn)載內(nèi)容可能做了些修改和增加圖片注釋,如果侵犯了您的版權(quán),或沒有注明原作者,請諒解
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(21)
給我留言
查看公開留言
查看私人留言
隨筆分類
(644)
Android(10)
(rss)
ANT(4)
(rss)
C#(10)
(rss)
C/C++(16)
(rss)
CSS(3)
(rss)
DataBase(119)
(rss)
DB-DailyMmaintenance(16)
(rss)
Design Patterns(27)
(rss)
english
(rss)
Exceptions(7)
(rss)
EXT(39)
(rss)
FLASH(9)
(rss)
Hardware(20)
(rss)
Hibernate(13)
(rss)
Html(23)
(rss)
Java(143)
(rss)
java Net(10)
(rss)
JavaScript(39)
(rss)
Linux(26)
(rss)
php(5)
(rss)
Regular Exp(3)
(rss)
Spring(17)
(rss)
Struts(12)
(rss)
TOOL(43)
(rss)
VB/VBA/VBS(5)
(rss)
webservice(9)
(rss)
XML(2)
(rss)
我的夢幻旅途(14)
(rss)
隨筆檔案
(669)
2017年9月 (4)
2016年10月 (1)
2015年6月 (1)
2015年4月 (2)
2015年1月 (1)
2014年8月 (2)
2014年7月 (9)
2014年6月 (1)
2014年5月 (2)
2014年4月 (3)
2014年3月 (3)
2013年10月 (4)
2013年9月 (8)
2013年8月 (4)
2013年6月 (3)
2013年5月 (4)
2013年4月 (7)
2013年3月 (1)
2013年1月 (3)
2012年12月 (4)
2012年11月 (1)
2012年10月 (1)
2012年9月 (4)
2012年8月 (1)
2012年7月 (2)
2012年6月 (1)
2012年5月 (4)
2012年4月 (2)
2012年3月 (1)
2012年2月 (4)
2012年1月 (6)
2011年12月 (10)
2011年11月 (7)
2011年10月 (6)
2011年9月 (37)
2011年8月 (34)
2011年7月 (44)
2011年6月 (10)
2011年5月 (5)
2011年4月 (3)
2011年3月 (1)
2011年2月 (1)
2011年1月 (18)
2010年12月 (9)
2010年11月 (13)
2010年10月 (17)
2010年9月 (2)
2010年8月 (10)
2010年7月 (10)
2010年6月 (5)
2010年5月 (8)
2010年4月 (9)
2010年3月 (11)
2010年2月 (3)
2010年1月 (8)
2009年12月 (6)
2009年11月 (10)
2009年10月 (5)
2009年9月 (1)
2009年8月 (18)
2009年7月 (6)
2009年6月 (2)
2009年5月 (1)
2009年4月 (4)
2009年3月 (6)
2009年2月 (5)
2009年1月 (3)
2008年12月 (13)
2008年11月 (13)
2008年10月 (30)
2008年9月 (9)
2008年8月 (24)
2008年7月 (17)
2008年6月 (15)
2008年5月 (16)
2008年4月 (15)
2008年3月 (19)
2008年2月 (3)
2008年1月 (20)
2007年12月 (24)
2007年11月 (9)
文章檔案
(6)
2008年4月 (1)
2008年3月 (1)
2008年1月 (2)
2007年11月 (2)
最新隨筆
1.?PP代碼生成器(四) 使用解決方案生成代碼
2.? PP代碼生成器(三) 設(shè)計freemarker模板, 創(chuàng)建解決方案
3.? PP代碼生成器(二) 解決方案, 生成任務(wù), 輔助設(shè)計面板
4.? PP代碼生成器(一) 簡介, 下載, 運行
5.?PP持久層代碼生成器
6.?比較好的博客
7.?系統(tǒng)集成項目管理工程師
8.?軟件公司項目經(jīng)理崗位職責
9.?聯(lián)想筆記本 顯示屏 鍵盤失靈 釋放靜電
10.?eclipse maven
積分與排名
積分 - 960866
排名 - 37
最新評論
1.?re: Myeclipse 快捷鍵大全(絕對全)
crl+向右箭頭(輸入法有問題打不出來)移到下一個參數(shù)的位置,然后crl+shift+向右箭頭 選中該位置的參數(shù)即可
--紅領(lǐng)巾
2.?re: Log4j基本使用方法
555
--555
3.?re: Myeclipse 快捷鍵大全(絕對全)[未登錄]
很不錯,謝謝
--銀狐
4.?re: Flex 表單
是誰這么無聊~嗚~~~
--HUIKK
5.?re: Spring AfterReturning 異常
具體是什么意思啊
--dingli
閱讀排行榜
1.?Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream(70034)
2.?log4j.properties 使用說明(42086)
3.?Myeclipse 快捷鍵大全(絕對全)(32737)
4.?TNSNAMES.ORA 配置(24399)
5.?oracle 樹狀查詢(21367)
評論排行榜
1.?Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream(53)
2.?JMail 異常: java.lang.NoClassDefFoundError: javax/activation/DataSource(21)
3.?javax.mail.MessagingException: 530 5.7.0 Must issue a STARTTLS command first(14)
4.?java 讀取 excel 2003 或 excel 2007(14)
5.?java.lang.UnsupportedClassVersionError: Bad version number in .class file(8)
Hibernate DAO 類
package
org.huy.fram.hibernate;
import
java.io.Serializable;
import
java.math.BigDecimal;
import
java.util.List;
import
org.hibernate.Query;
import
org.hibernate.Session;
/** */
/**
*
* <p>
* Title:[Hibernate Data Access Object Support]
* </p>
* <p>
* Description: [操作數(shù)據(jù)庫支持類,其它DAO可能繼承該類]
* </p>
* <p>
* Copyright 2009 Huyvanpull Co., Ltd.
* </p>
* <p>
* All right reserved.
* </p>
*
*
@version
1.0
*
* <p>
* Created by [Huyvanpull] [Jun 26, 2009]
* </p>
* <p>
* Midified by [修改人] [修改時間]
* </p>
*
*/
public
class
HibDAOSupport
{
/** */
/**
DAO的操作po的類型
*/
private
Class
<?>
claz
=
null
;
/** */
/**
構(gòu)造方法,且只應(yīng)提供此種構(gòu)造方法
*/
public
HibDAOSupport(Class
<?>
claz)
{
this
.claz
=
claz;
}
/** */
/**
*
* <p>
* Description:[加載對象,返回代理實例]
* </p>
* <p>
* Created by [Huyvanpull] [Jun 26, 2009]
* </p>
* <p>
* Midified by [修改人] [修改時間]
* </p>
*
*
@param
id
*
@return
*/
public
Object load(Serializable id)
{
Object entity
=
null
;
try
{
Session session
=
HibernateSessionFactory.getSession();
entity
=
session.load(
this
.claz, id);
}
catch
(RuntimeException re)
{
throw
re;
}
return
entity;
}
/** */
/**
*
* <p>
* Description:[得到對象,返回實體類]
* </p>
* <p>
* Created by [Huyvanpull] [Jun 26, 2009]
* </p>
* <p>
* Midified by [修改人] [修改時間]
* </p>
*
*
@param
id
*
@return
*/
public
Object get(Serializable id)
{
Object entity
=
null
;
try
{
Session session
=
HibernateSessionFactory.getSession();
entity
=
session.get(
this
.claz, id);
}
catch
(RuntimeException re)
{
throw
re;
}
return
entity;
}
/** */
/**
*
* <p>
* Description:[把實例保存到數(shù)據(jù)庫]
* </p>
* <p>
* Created by [Huyvanpull] [Jun 26, 2009]
* </p>
* <p>
* Midified by [修改人] [修改時間]
* </p>
*
*
@param
entity
*
@return
*/
public
Object save(Object entity)
{
try
{
/** */
/**
如果entity不是claz的實例,此處會拋出異常,下面代碼不會執(zhí)行
*/
this
.isInstance(entity);
Session session
=
HibernateSessionFactory.getSession();
session.save(entity);
}
catch
(RuntimeException re)
{
throw
re;
}
return
entity;
}
/** */
/**
*
* <p>
* Description:[把實例保存到數(shù)據(jù)庫]
* </p>
* <p>
* Created by [Huyvanpull] [Jun 26, 2009]
* </p>
* <p>
* Midified by [修改人] [修改時間]
* </p>
*
*
@param
entity
*
@return
*/
public
Object update(Object entity)
{
try
{
/** */
/**
如果entity不是claz的實例,此處會拋出異常,下面代碼不會執(zhí)行
*/
this
.isInstance(entity);
Session session
=
HibernateSessionFactory.getSession();
session.update(entity);
}
catch
(RuntimeException re)
{
throw
re;
}
return
entity;
}
/** */
/**
*
* <p>
* Description:[根據(jù)實列刪除對象]
* </p>
* <p>
* Created by [Huyvanpull] [Jun 26, 2009]
* </p>
* <p>
* Midified by [修改人] [修改時間]
* </p>
*
*
@param
object
*
@return
*/
public
Object delete(Object entity)
{
try
{
/** */
/**
如果entity不是claz的實例,此處會拋出異常,下面代碼不會執(zhí)行
*/
this
.isInstance(entity);
Session session
=
HibernateSessionFactory.getSession();
session.delete(entity);
}
catch
(RuntimeException re)
{
throw
re;
}
return
entity;
}
/** */
/**
*
* <p>
* Description:[根據(jù)id刪除對象]
* </p>
* <p>
* Created by [Huyvanpull] [Jun 26, 2009]
* </p>
* <p>
* Midified by [修改人] [修改時間]
* </p>
*
*
@param
id
*/
public
void
deleteById(Serializable id)
{
delete(load(id));
}
/** */
/**
*
* <p>
* Description:[不附加條件查詢所有對象]
* </p>
* <p>
* Created by [Huyvanpull] [Jun 26, 2009]
* </p>
* <p>
* Midified by [修改人] [修改時間]
* </p>
*
*
@return
*/
public
List
<?>
findAll()
{
String hsql
=
"
from
"
.concat(
this
.getEntityClassName());
return
this
.find(hsql,
0
,
0
);
}
/** */
/**
*
* <p>
* Description:[根據(jù)hsql查詢數(shù)據(jù)]
* </p>
* <p>
* Created by [Huyvanpull] [Jun 30, 2009]
* </p>
* <p>
* Midified by [修改人] [修改時間]
* </p>
*
*
@param
hsql
* HSQL
*
@param
beginIndex
* 查詢起始位置
*
@param
pageSize
* 每頁長度
*
@return
*/
public
List
<?>
find(
final
String hsql,
final
int
beginIndex,
final
int
pageSize)
{
List
<?>
entityLst
=
null
;
try
{
Session session
=
HibernateSessionFactory.getSession();
Query query
=
session.createQuery(hsql);
if
(beginIndex
!=
0
)
{
query.setFirstResult(beginIndex);
}
if
(pageSize
!=
0
)
{
query.setMaxResults(pageSize);
}
entityLst
=
query.list();
}
catch
(RuntimeException re)
{
throw
re;
}
return
entityLst;
}
/** */
/**
*
* <p>
* Description:[根據(jù)SQL查詢數(shù)據(jù)]
* </p>
* <p>
* Created by [Huyvanpull] [Jun 30, 2009]
* </p>
* <p>
* Midified by [修改人] [修改時間]
* </p>
*
*
@param
sql
* SQL
*
@param
beginIndex
* 查詢起始位置
*
@param
pageSize
* 每頁長度
*
@return
*/
public
List
<?>
findBySql(
final
String sql,
final
int
beginIndex,
final
int
pageSize)
{
List
<?>
entityLst
=
null
;
try
{
Session session
=
HibernateSessionFactory.getSession();
Query query
=
session.createSQLQuery(sql);
if
(beginIndex
!=
0
)
{
query.setFirstResult(beginIndex);
}
if
(pageSize
!=
0
)
{
query.setMaxResults(pageSize);
}
entityLst
=
query.list();
}
catch
(RuntimeException re)
{
throw
re;
}
return
entityLst;
}
/** */
/**
*
* <p>
* Description:[根據(jù)HQL統(tǒng)計合符條件的數(shù)目]
* </p>
* <p>
* Created by [Huyvanpull] [Jun 26, 2009]
* </p>
* <p>
* Midified by [修改人] [修改時間]
* </p>
*
*
@param
hql
*
@return
*/
public
int
count(
final
String hql)
{
int
count
=
0
;
try
{
Session session
=
HibernateSessionFactory.getSession();
Query query
=
session.createQuery(hql);
count
=
((Integer) query.uniqueResult()).intValue();
}
catch
(RuntimeException re)
{
throw
re;
}
return
count;
}
/** */
/**
*
* <p>
* Description:[根據(jù)原生SQL統(tǒng)計合符條件的數(shù)目]
* </p>
* <p>
* Created by [Huyvanpull] [Jun 26, 2009]
* </p>
* <p>
* Midified by [修改人] [修改時間]
* </p>
*
*
@param
sql
*
@return
*/
public
int
countBySql(
final
String sql)
{
int
count
=
0
;
try
{
Session session
=
HibernateSessionFactory.getSession();
Query query
=
session.createSQLQuery(sql);
count
=
((BigDecimal) query.uniqueResult()).intValue();
}
catch
(RuntimeException re)
{
throw
re;
}
return
count;
}
/** */
/**
*
* <p>
* Description:[執(zhí)行原生SQL,返回更改的條數(shù)]
* </p>
* <p>
* Created by [Huyvanpull] [Jun 26, 2009]
* </p>
* <p>
* Midified by [修改人] [修改時間]
* </p>
*
*
@param
sql
*
@return
*/
public
int
executeSQL(
final
String sql)
{
int
updateCount
=
0
;
try
{
Session session
=
HibernateSessionFactory.getSession();
Query query
=
session.createSQLQuery(sql);
updateCount
=
query.executeUpdate();
}
catch
(RuntimeException re)
{
throw
re;
}
return
updateCount;
}
/** */
/**
*
* <p>
* Description:[如果不是claz的實例,則拋出異常]
* </p>
* <p>
* Created by [Huyvanpull] [Jun 26, 2009]
* </p>
* <p>
* Midified by [修改人] [修改時間]
* </p>
*
*
@param
entity
*/
private
void
isInstance(Object entity)
{
if
(
!
this
.claz.isInstance(entity))
{
/** */
/**
如果所傳的對象不是claz的實例,則拋出異常由上一級進行處理
*/
StringBuffer exceptionInfo
=
new
StringBuffer(
512
);
exceptionInfo.append(
"
entity is not instance of
"
);
exceptionInfo.append(
this
.claz.getName());
exceptionInfo.trimToSize();
throw
new
RuntimeException(exceptionInfo.toString());
}
}
/** */
/**
*
* <p>
* Description:[本方法用于得到claz的名字]
* </p>
* <p>
* Created by [Huyvanpull] [Jun 26, 2009]
* </p>
* <p>
* Midified by [修改人] [修改時間]
* </p>
*
*
@return
*/
private
String getEntityClassName()
{
String name
=
this
.claz.getName();
/** */
/**
得到類名
*/
return
name.substring(name.lastIndexOf(
"
.
"
)
+
1
, name.length());
}
}
DAO繼承該類,幾乎不用寫代碼了.
posted on 2009-06-29 09:52
HUIKK
閱讀(599)
評論(0)
編輯
收藏
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
Powered by:
BlogJava
Copyright © HUIKK
主站蜘蛛池模板:
惠来县
|
白沙
|
新巴尔虎左旗
|
海晏县
|
桑日县
|
宁海县
|
安西县
|
寿阳县
|
龙山县
|
慈利县
|
阿瓦提县
|
伊春市
|
那坡县
|
大理市
|
平江县
|
荥阳市
|
开原市
|
南涧
|
游戏
|
读书
|
蒙山县
|
于都县
|
辛集市
|
大冶市
|
阳高县
|
镇雄县
|
垦利县
|
略阳县
|
瑞安市
|
桑日县
|
上杭县
|
会东县
|
徐水县
|
余江县
|
织金县
|
清水县
|
阿城市
|
临江市
|
金寨县
|
辉南县
|
额尔古纳市
|