我是Hibernate的新手,目前想要实现Hibernate Template类,任何一个请告诉我有关Hibernate Template类的信息。
xml文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost/test" />
<property name="username" value="root" />
<property name="password" value="mnrpass" />
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mappingResources">
<list>
<value>employee.hbm.xml</value>
</list>
</property>
<property name="configLocation" value="classpath:hibernate.cfg.xml" />
</bean>
<bean id="springHibernateExample" class="com.javarticles.spring.hibernate.SpringHibernateExample">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
</beans>
答案 0 :(得分:10)
Copied from Hibernate Interview Questions:
休眠模板
当Spring和Hibernate集成开始时,Spring ORM提供了两个 辅助类 -
HibernateDaoSupport
和HibernateTemplate
。原因 使用它们是为了从Hibernate获取Session
并获得好处 Spring事务管理。但是从Hibernate 3.0.1开始,我们可以 使用SessionFactory getCurrentSession()
方法获取当前值 会话并使用它来获得spring事务管理的好处。 如果你通过上面的例子,你会看到它是多么容易和 这就是为什么我们不应该再使用这些类了。HibernateTemplate的另一个好处是异常翻译,但可以通过使用
@Repository
注释轻松实现 服务类,如上面的spring mvc示例所示。这是一个技巧 判断你的知识以及你是否知道最近的问题 发展与否。
答案 1 :(得分:3)
HibernateTemplate 是一个帮助程序类,用于简化数据访问代码。此类支持自动将已检查异常的HibernateExceptions转换为DataAccessExceptions,这是一个未经检查的异常。 HibernateTemplate通常用于实现数据访问或业务逻辑服务。中心方法是execute(),它支持实现HibernateCallback接口的Hibernate代码。 定义HibernateTemplate。
org.springframework.orm.hibernate.HibernateTemplate是一个帮助器类,它提供了从数据库中查询/检索数据的不同方法。它还将已检查的HibernateExceptions转换为未经检查的DataAccessExceptions。
HibernateTemplate的好处:
HibernateTemplate简化了与Hibernate Session的交互。
常用的函数简化为单个方法调用。
会话自动关闭。
异常会自动捕获并转换为运行时异常。
访问此链接以获取正确的示例
http://www.javarticles.com/2015/04/spring-hibernatetempate-example.html
答案 2 :(得分:1)
HibernateTemplate是org.springframework.orm.hibernate3的类。 HibernateTemplate提供了hibernate和spring的集成。 Spring自己管理数据库连接DML,DDL等命令。 HibernateTemplate具有保存,更新,删除等方法。 尝试了解如何在我们的spring应用程序中配置HibernateTemplate。
在spring应用程序的application.xml中添加xml配置。
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
hibernateTemplate将在dao类中使用。初始化hibernateTemplate。提供一个setter方法来按弹簧设置hibernateTemplate。
private HibernateTemplate hibernateTemplate;
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
this.hibernateTemplate = hibernateTemplate;
}
public void persist(){
User u1= new User(1,"Ankita");
hibernateTemplate.save(u1);
User u2= new User(2,"Renu");
hibernateTemplate.save(u2);
}