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 com.hx.ssh.bean.Login;
import com.hx.ssh.service.LoginService;
@Transactional
public class LoginServiceImpl implements LoginService {
@Resource private SessionFactory sessionFactory;
public void delete(int id) {
// TODO Auto-generated method stub
sessionFactory.getCurrentSession().delete(
sessionFactory.getCurrentSession().load(Login.class, id));
}
@Transactional(propagation=Propagation.NOT_SUPPORTED,readOnly=true)
public Login getLogin(int id) {
// TODO Auto-generated method stub
return (Login)sessionFactory.getCurrentSession().get(Login.class, id);
}
@Transactional(propagation=Propagation.NOT_SUPPORTED,readOnly=true)
@SuppressWarnings("unchecked")
public List<Login> getLogins() {
// TODO Auto-generated method stub
return sessionFactory.getCurrentSession().createQuery("from login as a").list();
}
public void save(Login login) {
// TODO Auto-generated method stub
this.sessionFactory.getCurrentSession().persist(login);
}
public void update(Login login) {
// TODO Auto-generated method stub
this.sessionFactory.getCurrentSession().merge(login);
}
}
分享到:
相关推荐
本节将深入探讨HibernateTemplate的常规用法。 HibernateTemplate提供了丰富的API,可以实现对数据库的基本操作,包括创建(Create)、读取(Read)、更新(Update)和删除(Delete)等。以下是一些常用的方法: 1...
我们需要扩展这个类,并实现determineCurrentLookupKey方法来决定当前应该使用哪个数据源。 接着,描述中的"Spring+Hibernate多数据源的整合实现demo"意味着这是一个实际操作的示例,它可能包含了一个或多个配置...
Spring、Struts和Hibernate是Java开发中非常经典的三大框架,它们各自负责应用程序的不同层面,共同构建了...通过这个实例,开发者不仅可以掌握这三大框架的基本用法,还能了解到企业级应用开发的常规流程和最佳实践。
4. **设置参数和类型**:如果SQL语句包含参数,使用`setXXX()`方法(如`setString()`, `setInt()`)为它们设置值,这些方法的第二个参数是参数的位置,通常是基于SQL语句中的问号(?). 5. **执行查询并处理结果**:...
- 使用`ActionContext.getSession()`方法可以获取到HttpSession对象,从而进行Session的读写操作。 - 需要注意防止Session劫持和Session固定攻击,定期清理无用的Session。 3. **Hibernate Session管理**: - ...
7. **事务管理**:Hibernate支持事务处理,可以使用Session的`beginTransaction()`、`commit()`和`rollback()`方法进行事务控制。 8. **缓存机制**:为了提高性能,Hibernate提供了两级缓存,一级缓存是Session级别...
4. **SessionFactory与Session**:使用Hibernate的`SessionFactory`创建`Session`实例,`Session`是与数据库交互的主要接口。通过它来执行CRUD操作(创建、读取、更新、删除)。 5. **DAO层设计**:定义一个`...
2. 集成Hibernate3,通常会用到Spring的`SessionFactoryBean`来管理SessionFactory,以及`HibernateTemplate`或`HibernateDaoSupport`来简化DAO层的操作。 3. Spring2的AOP(面向切面编程)用于事务管理,通过`@...
其中save(FileActionForm fileForm)方法,将封装在fileForm中的上传文件保存到数据库中,这里我们使用FileActionForm作为方法入参,FileActionForm是Web层的表单数据对象,它封装了提交表单的数据。将...
此时,可以使用`AnnotationSessionFactoryBean`来配置SessionFactory,这样就可以在Spring环境中无缝地使用Hibernate注解。 ```xml <!-- Spring 配置文件示例 --> <bean id="sessionFactory" class="org.spring...
这种方法更加灵活,尤其在构建复杂的查询条件时。以下是一个简单的示例: ```java Session session = sessionFactory.openSession(); Criteria criteria = session.createCriteria(User.class); criteria.list(); `...
例如,通过Session接口创建一个新的`Student`对象,调用`save()`方法将其保存到数据库,或者通过`load()`或`get()`方法获取已存在的记录,使用`update()`或`merge()`更新对象,以及`delete()`方法删除对象。...
通过深入研究这个SSH Demo博客系统的源码,开发者不仅可以了解SSH框架的集成使用,还能学习到Web应用开发的常规流程,包括用户接口设计、数据库交互、服务层构建、安全性控制等多个方面。这将对提升Java Web开发技能...
12. **DWR配置与使用**:DWR(Direct Web Remoting)允许在浏览器端直接调用服务器端的方法。配置DWR.xml文件,然后在JSP页面中通过JavaScript调用DWR服务。 13. **CSS选择器**:`.class_name`选择器匹配类名为...
- **本地方法栈**:为虚拟机使用到的Native方法服务。 ##### 内存泄露和内存溢出 - **内存泄露**:不再使用的对象没有被垃圾回收机制及时回收,导致内存占用持续增加。 - **内存溢出**:当程序申请内存超过系统所...