package cn.itcast.service.impl;
import java.util.List;
import javax.annotation.Resource;
import org.hibernate.SessionFactory;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import cn.itcast.bean.Person;
import cn.itcast.service.PersonService;
@Transactional
public class PersonServiceBean implements PersonService {
@Resource private SessionFactory sessionFactory; // 用@Resource注解方式进行依赖注入
public void save(Person person) {
/**
* 以前我们通过sessionFactory对象得到session,是通过sessionFactory.openSession()得到的,
* 但在此,我们需要注意一点,因为Spring会自动地帮我们管理事务,就是说它会自动地帮我们管理session对象,
* 所以这时我们只须通过sessionFactory.getCurrentSession()从Spring容器里面得到当前
* 被Spring容器管理的session对象。
*/
sessionFactory.getCurrentSession().persist(person); // 建议使用persist()方法,和JTA规范保持一致,与save()作用一样
}
/**
* 当对象处于游离状态时,这时才需要对它进行更新
*/
public void update(Person person) {
sessionFactory.getCurrentSession().merge(person); // 建议使用merge()方法,和JTA规范保持一致,把对游离状态对象的更新同步到数据库
}
@Transactional(propagation=Propagation.NOT_SUPPORTED, readOnly=true)
public Person getPerson(Integer personid) {
return (Person) sessionFactory.getCurrentSession().get(Person.class, personid);
}
public void delete(Integer personid) {
/**
* 建议使用load()方法,load()方法比get()方法性能要好一些,
* 因为get()方法有一个数据装配的过程,也即把数据从数据库查询出来之后,还要把数据封装到实体对象里面去,
* 而load()方法没有封装的过程,相对来说,效率要高很多。
*/
sessionFactory.getCurrentSession().delete(
sessionFactory.getCurrentSession().load(Person.class, personid));
}
@Transactional(propagation=Propagation.NOT_SUPPORTED, readOnly=true)
@SuppressWarnings("unchecked")
public List<Person> getPersons() {
return sessionFactory.getCurrentSession().createQuery("from Person").list();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Spring4.2.5+Hibernate4.3.11+Struts2.3.24整合开发
共71个文件
jar:39个
xml:10个
java:5个
5星 · 超过95%的资源 需积分: 10 1.6k 下载量 97 浏览量
2016-10-23
17:51:13
上传
评论 61
收藏 18.05MB ZIP 举报
温馨提示
Spring4.2.5+Hibernate4.3.11+Struts2.3.24整合开发
资源推荐
资源详情
资源评论
收起资源包目录
SSH2.zip (71个子文件)
SSH2
.project 1KB
src
ehcache.xml 1KB
cn
itcast
service
PersonService.java 294B
impl
PersonServiceBean.java 2KB
web
action
PersonAction.java 1KB
bean
Person.java 441B
Person.hbm.xml 563B
beans.xml 3KB
struts.xml 2KB
junit
test
PersonServiceTest.java 2KB
WebRoot
WEB-INF
lib
jboss-logging-annotations-1.2.0.Beta1.jar 11KB
spring-aspects-4.2.5.RELEASE.jar 57KB
hibernate-commons-annotations-4.0.5.Final.jar 74KB
commons-fileupload-1.3.1.jar 67KB
javassist-3.18.1-GA.jar 697KB
spring-core-4.2.5.RELEASE.jar 1.03MB
spring-jdbc-4.2.5.RELEASE.jar 414KB
dom4j-1.6.1.jar 307KB
struts2-core-2.3.24.jar 812KB
struts2-spring-plugin-2.3.24.jar 21KB
spring-tx-4.2.5.RELEASE.jar 259KB
spring-orm-4.2.5.RELEASE.jar 456KB
mysql-connector-java-5.1.38-bin.jar 961KB
hibernate-core-4.3.11.Final.jar 5.04MB
commons-dbcp-1.4.jar 157KB
commons-io-2.2.jar 170KB
freemarker-2.3.22.jar 1.24MB
log4j-1.2.17.jar 478KB
commons-lang3-3.2.jar 376KB
hibernate-jpa-2.1-api-1.0.0.Final.jar 111KB
spring-web-4.2.5.RELEASE.jar 749KB
jboss-logging-3.1.3.GA.jar 56KB
xwork-core-2.3.24.jar 661KB
slf4j-api-1.6.1.jar 25KB
antlr-2.7.7.jar 435KB
spring-context-4.2.5.RELEASE.jar 1.05MB
hibernate-ehcache-4.3.11.Final.jar 133KB
com.springsource.org.aopalliance-1.0.0.jar 5KB
jandex-1.1.0.Final.jar 75KB
spring-expression-4.2.5.RELEASE.jar 257KB
commons-pool-1.6.jar 109KB
jboss-transaction-api_1.2_spec-1.0.0.Final.jar 27KB
commons-logging-1.2.jar 60KB
ehcache-core-2.4.3.jar 983KB
spring-beans-4.2.5.RELEASE.jar 714KB
ognl-3.0.6.jar 223KB
spring-aop-4.2.5.RELEASE.jar 361KB
slf4j-log4j12-1.7.5.jar 9KB
com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar 1.57MB
page
personlist.jsp 508B
message.jsp 427B
addPerson.jsp 541B
web.xml 2KB
META-INF
MANIFEST.MF 39B
.settings
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.common.project.facet.core.xml 345B
org.eclipse.jdt.core.prefs 364B
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.core.resources.prefs 57B
org.eclipse.wst.common.component 461B
.jsdtscope 564B
build
classes
ehcache.xml 1KB
cn
itcast
service
PersonService.class 403B
impl
PersonServiceBean.class 2KB
web
action
PersonAction.class 2KB
bean
Person.hbm.xml 563B
Person.class 854B
beans.xml 3KB
struts.xml 2KB
junit
test
PersonServiceTest.class 3KB
.classpath 919B
共 71 条
- 1
李阿昀
- 粉丝: 1w+
- 资源: 44
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页