隨筆:15 文章:206 評(píng)論:35 引用:0
fenglin
創(chuàng)新、創(chuàng)意、挑戰(zhàn)
C++博客
首頁(yè)
發(fā)新隨筆
發(fā)新文章
聯(lián)系
聚合
管理
Spring3_Hibernate與Spring的整合
UserDAO.java
package
com.bebig.dao;
import
com.bebig.model.User;
public
interface
UserDAO
{
public
void
save(User u);
}
UserDAOImpl.java
package
com.bebig.dao.impl;
import
javax.annotation.Resource;
import
org.hibernate.Session;
import
org.hibernate.SessionFactory;
import
org.springframework.stereotype.Repository;
import
com.bebig.dao.UserDAO;
import
com.bebig.model.User;
@Repository
public
class
UserDAOImpl
implements
UserDAO
{
//
由Spring框架來注入
private
SessionFactory sessionFactory;
public
SessionFactory getSessionFactory()
{
return
sessionFactory;
}
@Resource
public
void
setSessionFactory(SessionFactory sessionFactory)
{
this
.sessionFactory
=
sessionFactory;
}
@Override
public
void
save(User u)
{
Session s
=
sessionFactory.getCurrentSession();
s.beginTransaction();
s.save(u);
s.getTransaction().commit();
System.out.println(
"
a user saved!
"
);
}
}
User.java
package
com.bebig.model;
import
javax.persistence.Entity;
import
javax.persistence.GeneratedValue;
import
javax.persistence.Id;
import
javax.persistence.Table;
@Entity
@Table(name
=
"
tab_User
"
)
public
class
User
{
private
int
id;
private
String name;
@Id
@GeneratedValue
public
int
getId()
{
return
id;
}
public
void
setId(
int
id)
{
this
.id
=
id;
}
public
String getName()
{
return
name;
}
public
void
setName(String name)
{
this
.name
=
name;
}
}
UserService.java
package
com.bebig.service;
import
javax.annotation.Resource;
import
org.springframework.stereotype.Service;
import
com.bebig.dao.UserDAO;
import
com.bebig.model.User;
@Service(
"
userService
"
)
public
class
UserService
{
private
UserDAO userDAO;
public
void
add(User u)
{
userDAO.save(u);
}
@Resource
public
void
setUserDAO(UserDAO userDAO)
{
this
.userDAO
=
userDAO;
}
public
UserDAO getUserDAO()
{
return
userDAO;
}
public
void
init()
{
System.out.println(
"
init.
"
);
}
public
void
destory()
{
System.out.println(
"
destory.
"
);
}
}
beans.xml
<?
xml version="1.0" encoding="UTF-8"
?>
<
beans
xmlns
="http://www.springframework.org/schema/beans"
xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context
="http://www.springframework.org/schema/context"
xmlns:aop
="http://www.springframework.org/schema/aop"
xsi:schemaLocation
="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"
>
<!--
a service object; we will be profiling its methods
-->
<
context:annotation-config
/>
<
context:component-scan
base-package
="com.bebig"
/>
<
bean
id
="dataSource"
class
="org.apache.commons.dbcp.BasicDataSource"
destroy-method
="close"
>
<
property
name
="driverClassName"
value
="${jdbc.driverClassName}"
/>
<
property
name
="url"
value
="${jdbc.url}"
/>
<
property
name
="username"
value
="${jdbc.username}"
/>
<
property
name
="password"
value
="${jdbc.password}"
/>
</
bean
>
<
context:property-placeholder
location
="classpath:jdbc.properties"
/>
<!--
讓Spring幫我們注入SessionFactory
-->
<
bean
id
="sessionFactory"
class
="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"
>
<
property
name
="dataSource"
ref
="dataSource"
/>
<
property
name
="annotatedClasses"
>
<!--
將實(shí)體類注入annotatedClasses屬性
-->
<
list
>
<
value
>
com.bebig.model.User
</
value
>
</
list
>
</
property
>
<!--
hibernate的一些配置
-->
<
property
name
="hibernateProperties"
>
<
props
>
<
prop
key
="hibernate.dialect"
>
org.hibernate.dialect.SQLServerDialect
</
prop
>
<
prop
key
="hibernate.show_sql"
>
true
</
prop
>
<
prop
key
="hibernate.format_sql"
>
true
</
prop
>
<
prop
key
="hibernate.current_session_context_class"
>
thread
</
prop
>
</
props
>
</
property
>
</
bean
>
</
beans
>
jdbc.properties
jdbc.driverClassName
=
com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.url
=
jdbc:sqlserver://localhost:
1433
;
DatabaseName=spring
jdbc.username
=
sa
jdbc.password
=
******
測(cè)試用例:
UserServiceTest.java
package
com.bebig.service;
import
org.junit.Test;
import
org.springframework.context.support.ClassPathXmlApplicationContext;
import
com.bebig.model.User;
public
class
UserServiceTest
{
@Test
public
void
testAdd()
throws
Exception
{
ClassPathXmlApplicationContext cxt
=
new
ClassPathXmlApplicationContext(
"
beans.xml
"
);
UserService service
=
(UserService) cxt.getBean(
"
userService
"
);
User u
=
new
User();
u.setName(
"
Test
"
);
service.add(u);
}
}
注:把Hibernate要用到的JAR包加進(jìn)來。
發(fā)表于 2010-10-20 14:09
風(fēng)林
閱讀(2604)
評(píng)論(0)
編輯
收藏
引用
所屬分類:
JAVA
、
Hibernate
、
Spring
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
[轉(zhuǎn)]java編程中'為了性能'一些盡量做到的地方
JAVAC命令行錯(cuò)誤
Java基礎(chǔ)_Collection接口下的子類存儲(chǔ)特性
Android_常用控件使用
Android_Activity&Intent&Layout
Integer自動(dòng)裝箱、拆箱問題
自定義比較器、排序
JDBC操作實(shí)例
常用數(shù)據(jù)庫(kù)的JDBC連接代碼
[轉(zhuǎn)]J2SE_內(nèi)部類
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
CALENDER
<
2025年6月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
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
常用鏈接
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
給我留言
查看公開留言
查看私人留言
隨筆分類
jBPM
(rss)
隨筆檔案
2011年7月 (1)
2011年4月 (1)
2011年2月 (1)
2010年11月 (1)
2010年10月 (2)
2010年9月 (3)
2010年8月 (4)
2010年7月 (2)
文章分類
AJAX(2)
(rss)
Android(2)
(rss)
C#(20)
(rss)
C++(6)
(rss)
ckeditor&ckfinder(1)
(rss)
CSS
(rss)
Delphi(2)
(rss)
Hibernate(39)
(rss)
JAVA(95)
(rss)
jQuery(1)
(rss)
JSP(9)
(rss)
Maven(1)
(rss)
MySQL(4)
(rss)
OOP(1)
(rss)
Python(42)
(rss)
Spring(31)
(rss)
SQL Server(4)
(rss)
Struts2(35)
(rss)
SVN(1)
(rss)
Tomcat(1)
(rss)
Ubuntu(1)
(rss)
軟件加解密技術(shù)
(rss)
雜文(1)
(rss)
文章檔案
2011年8月 (1)
2011年7月 (3)
2011年6月 (19)
2011年5月 (2)
2011年4月 (1)
2011年2月 (1)
2010年12月 (2)
2010年11月 (21)
2010年10月 (67)
2010年9月 (48)
2010年8月 (37)
2010年7月 (4)
新聞檔案
2010年7月 (1)
相冊(cè)
CSS
Hibernate
搜索
最新評(píng)論
1.?re: Struts2_三種傳參數(shù)方法
方式的發(fā)生
--阿飛史蒂夫
2.?re: 在Win7上搭建JSP開發(fā)環(huán)境
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--鄒
3.?re: ckeditor&ckfinder&s2sh集成
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--庸幾何
4.?re: 在Win7上搭建JSP開發(fā)環(huán)境
下個(gè) myeclipse@lou
--孫毅
5.?re: 在Win7上搭建JSP開發(fā)環(huán)境
@lou
運(yùn)行 -cmd 找到startup.bat 在java 環(huán)境中運(yùn)行
--孫毅
閱讀排行榜
1.?開始找Java開發(fā)類工作了(510)
2.?給一家公司的軟件做加密方案(443)
3.?一流、二流、三流(421)
4.?周一到周五都得出差,周末才能回(420)
5.?最近工作有點(diǎn)忙(381)
評(píng)論排行榜
1.?周一到周五都得出差,周末才能回(2)
2.?給力2011(2)
3.?最近工作有點(diǎn)忙(0)
4.?生活(0)
5.?在博客園開博了(0)
Powered By:
博客園
模板提供
:
滬江博客
国产精品一久久香蕉国产线看
|
狠狠综合久久综合88亚洲
|
国内精品伊人久久久久影院对白
|
91久久精品91久久性色
|
99久久精品国产综合一区
|
久久久久国产精品嫩草影院
|
久久精品国产2020
|
99久久无码一区人妻
|
久久只这里是精品66
|
99久久综合狠狠综合久久
|
久久久久青草线蕉综合超碰
|
精品国产福利久久久
|
久久精品国产亚洲AV影院
|
日韩一区二区久久久久久
|
久久精品国产亚洲AV影院
|
精品久久久久久无码人妻热
|
AV无码久久久久不卡蜜桃
|
久久男人Av资源网站无码软件
|
亚洲国产精品久久久久婷婷软件
|
7777精品久久久大香线蕉
|
天天久久狠狠色综合
|
奇米影视7777久久精品
|
久久99国产精品久久99小说
|
国产精品99久久久久久猫咪
|
久久国产精品99久久久久久老狼
|
97r久久精品国产99国产精
|
亚洲人成无码www久久久
|
久久久久女教师免费一区
|
国内精品久久久久久麻豆
|
99久久国产综合精品五月天喷水
|
一本久久a久久精品vr综合
|
久久综合亚洲色HEZYO国产
|
国产高清国内精品福利99久久
|
久久发布国产伦子伦精品
|
久久精品国产亚洲AV高清热
|
亚洲中文久久精品无码
|
亚洲精品tv久久久久
|
久久久久久久久波多野高潮
|
蜜桃麻豆WWW久久囤产精品
|
久久99国产一区二区三区
|
亚洲中文久久精品无码
|