夢幻之旅
DEBUG - 天道酬勤
::
首頁
::
新隨筆
::
聯系
::
聚合
::
管理
::
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
公告
本博客中未注原創的文章均為轉載,對轉載內容可能做了些修改和增加圖片注釋,如果侵犯了您的版權,或沒有注明原作者,請諒解
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(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代碼生成器(三) 設計freemarker模板, 創建解決方案
3.? PP代碼生成器(二) 解決方案, 生成任務, 輔助設計面板
4.? PP代碼生成器(一) 簡介, 下載, 運行
5.?PP持久層代碼生成器
6.?比較好的博客
7.?系統集成項目管理工程師
8.?軟件公司項目經理崗位職責
9.?聯想筆記本 顯示屏 鍵盤失靈 釋放靜電
10.?eclipse maven
積分與排名
積分 - 960775
排名 - 37
最新評論
1.?re: Myeclipse 快捷鍵大全(絕對全)
crl+向右箭頭(輸入法有問題打不出來)移到下一個參數的位置,然后crl+shift+向右箭頭 選中該位置的參數即可
--紅領巾
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 樹狀查詢(21366)
評論排行榜
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: [操作數據庫支持類,其它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
;
/** */
/**
構造方法,且只應提供此種構造方法
*/
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:[把實例保存到數據庫]
* </p>
* <p>
* Created by [Huyvanpull] [Jun 26, 2009]
* </p>
* <p>
* Midified by [修改人] [修改時間]
* </p>
*
*
@param
entity
*
@return
*/
public
Object save(Object entity)
{
try
{
/** */
/**
如果entity不是claz的實例,此處會拋出異常,下面代碼不會執行
*/
this
.isInstance(entity);
Session session
=
HibernateSessionFactory.getSession();
session.save(entity);
}
catch
(RuntimeException re)
{
throw
re;
}
return
entity;
}
/** */
/**
*
* <p>
* Description:[把實例保存到數據庫]
* </p>
* <p>
* Created by [Huyvanpull] [Jun 26, 2009]
* </p>
* <p>
* Midified by [修改人] [修改時間]
* </p>
*
*
@param
entity
*
@return
*/
public
Object update(Object entity)
{
try
{
/** */
/**
如果entity不是claz的實例,此處會拋出異常,下面代碼不會執行
*/
this
.isInstance(entity);
Session session
=
HibernateSessionFactory.getSession();
session.update(entity);
}
catch
(RuntimeException re)
{
throw
re;
}
return
entity;
}
/** */
/**
*
* <p>
* Description:[根據實列刪除對象]
* </p>
* <p>
* Created by [Huyvanpull] [Jun 26, 2009]
* </p>
* <p>
* Midified by [修改人] [修改時間]
* </p>
*
*
@param
object
*
@return
*/
public
Object delete(Object entity)
{
try
{
/** */
/**
如果entity不是claz的實例,此處會拋出異常,下面代碼不會執行
*/
this
.isInstance(entity);
Session session
=
HibernateSessionFactory.getSession();
session.delete(entity);
}
catch
(RuntimeException re)
{
throw
re;
}
return
entity;
}
/** */
/**
*
* <p>
* Description:[根據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:[根據hsql查詢數據]
* </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:[根據SQL查詢數據]
* </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:[根據HQL統計合符條件的數目]
* </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:[根據原生SQL統計合符條件的數目]
* </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:[執行原生SQL,返回更改的條數]
* </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)
編輯
收藏
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
Powered by:
BlogJava
Copyright © HUIKK
主站蜘蛛池模板:
庆云县
|
岑溪市
|
台前县
|
隆回县
|
临海市
|
绥江县
|
益阳市
|
宁安市
|
鹿邑县
|
乌鲁木齐县
|
崇州市
|
左权县
|
桐庐县
|
赤壁市
|
衡南县
|
即墨市
|
南平市
|
乐平市
|
石林
|
紫云
|
宜昌市
|
抚远县
|
和静县
|
兴义市
|
通化县
|
比如县
|
永福县
|
拜泉县
|
古蔺县
|
长子县
|
岳池县
|
英吉沙县
|
福安市
|
富源县
|
杂多县
|
四平市
|
木兰县
|
政和县
|
禄丰县
|
砚山县
|
广汉市
|