spring开发_Spring+Hibernate_HibernateDaoSupport
来源:互联网 发布:女生喜欢多大尺寸 知乎 编辑:程序博客网 时间:2024/06/03 23:44
原有项目:
http://www.cnblogs.com/hongten/archive/2012/03/15/java_spring_hibernate_hibernateTemplate.html
修改类:
/spring+hibernate_hibernateDaoSupport/src/com/b510/service/impl/PersonServiceBean.java
1 package com.b510.service.impl;
2
3 import java.util.List;
4
5 import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
6 import org.springframework.transaction.annotation.Propagation;
7 import org.springframework.transaction.annotation.Transactional;
8
9 import com.b510.domain.Person;
10 import com.b510.service.PersonService;
11
12 /**
13 * 使用注解方式进行事务管理
14 *
15 * @author Hongten
16 *
17 */
18 public class PersonServiceBean extends HibernateDaoSupport implements
19 PersonService {
20
21 @Override
22 public void delete(Integer id) {
23 getHibernateTemplate().delete(getPerson(id));
24 }
25
26 // 在查询的时候,不需要开启事务,并且指定为只读,这样可以提高查询效率
27 @Override
28 @Transactional(propagation = Propagation.NOT_SUPPORTED, readOnly = true)
29 public Person getPerson(Integer id) {
30 return (Person) getHibernateTemplate().get(Person.class, id);
31 }
32
33 // 在查询的时候,不需要开启事务,并且指定为只读,这样可以提高查询效率
34 @Override
35 @Transactional(propagation = Propagation.NOT_SUPPORTED, readOnly = true)
36 @SuppressWarnings("unchecked")
37 public List<Person> getPerson() {
38 return getHibernateTemplate().find("from Person");
39 }
40
41 @Override
42 public void save(Person person) {
43 getHibernateTemplate().save(person);
44 }
45
46 @Override
47 public void update(Person person) {
48 getHibernateTemplate().update(person);
49 }
50 }
/spring+hibernate_hibernateDaoSupport/src/bean.xml
修改为这样:
1 <bean id="personService" class="com.b510.service.impl.PersonServiceBean">
2 <property name="sessionFactory" ref="sessionFactory"></property>
3 </bean>
HibernateDaoSupport提供了如下方法:
public final HibernateTemplate getHibernate();
public final void setSessionFactory(SessionFactory sessionFactory)
运行效果:
1 log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext).
2 log4j:WARN Please initialize the log4j system properly.
3 Hibernate:
4 select
5 max(id)
6 from
7 person
8 Hibernate:
9 insert
10 into
11 spring.person
12 (name, age, sex, id)
13 values
14 (?, ?, ?, ?)
15 Hibernate:
16 select
17 person0_.id as id0_0_,
18 person0_.name as name0_0_,
19 person0_.age as age0_0_,
20 person0_.sex as sex0_0_
21 from
22 spring.person person0_
23 where
24 person0_.id=?
25 Hibernate:
26 update
27 spring.person
28 set
29 name=?,
30 age=?,
31 sex=?
32 where
33 id=?
34 Hibernate:
35 select
36 person0_.id as id0_0_,
37 person0_.name as name0_0_,
38 person0_.age as age0_0_,
39 person0_.sex as sex0_0_
40 from
41 spring.person person0_
42 where
43 person0_.id=?
44 Hibernate:
45 select
46 person0_.id as id0_,
47 person0_.name as name0_,
48 person0_.age as age0_,
49 person0_.sex as sex0_
50 from
51 spring.person person0_
52 *******************
53 2 hanyuan 21 男
54 3 hongten 21 男
55 4 hongten 21 男
56 5 hello 12 M
57 6 hongten 12 M
58 7 hongten2 12 M
59 8 hw 20 M
60 9 hongten 21 男
61 10 hongten 21 男
62 11 hongten 21 男
63 Hibernate:
64 select
65 person0_.id as id0_0_,
66 person0_.name as name0_0_,
67 person0_.age as age0_0_,
68 person0_.sex as sex0_0_
69 from
70 spring.person person0_
71 where
72 person0_.id=?
结果是一样一样的哦。
<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- spring开发_Spring+Hibernate_HibernateDaoSupport
- spring开发_Spring+Sturts2
- spring开发_spring环境搭建
- spring开发教程_spring+hibernate_spring 整合hibernate
- spring开发_spring中Bean的作用域_singleton_prototype
- spring开发_spring中Bean的作用域_singleton_prototype
- spring(1)_spring简介
- (笔记)Spring实战_Spring之旅(1)_简化Java开发
- [Spring]02_Spring框架和MVC原理
- (笔记)Spring MVC学习指南_Spring框架
- Spring学习1_Spring注解@Component、@Repository、@Service、@Controller区别
- Spring学习3_Spring 注释 @Autowired 和@Resource 的区别
- (笔记)Spring MVC学习指南_Spring MVC介绍
- Spring教程_Spring定时任务_@Scheduled使用
- spring 3.x 学习笔记_spring mvc、spring jdbc 实现网站的登录注册功能
- Spring学习6_Spring MVC与mybatis学习-----执行路程详解
- (笔记)Spring实战_Spring之旅(2)_容纳你的Bean
- (笔记)Spring实战_征服数据库(1)_Spring的数据访问哲学
- Flex + Hessian 学习笔记(一)
- Flex + Hessian 学习笔记(二)
- VC++中如何获取本地IP地址
- Spring初学
- Flex + Hessian 学习笔记(三)
- spring开发_Spring+Hibernate_HibernateDaoSupport
- 初学spring mvc
- spring开发_Annotation_AOP_Before增强处理
- Spring整合Hibernate
- 关于spring的事务传播特性
- javascript:history.go()和History.back()的区别(转载)
- BOM
- Phoenix:在Apache HBase上执行SQL查询
- 几种流行Webservice框架性能对比