Spring3 整合 Hibernate4实现数据库操作(1)

简介:

Hibernate知识学习:http://justsee.iteye.com/blog/1061576

v注意Hibernate4在开发当中的一些改变  :http://snake-hand.iteye.com/blog/1995592


//首先在web.xml中加入OpenSessionInViewFilter过滤器


<br>   <filter> 
      <filter-name>openSessionInViewFilter</filter-name> 
      <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class> 
    </filter>
     
    <filter-mapping>
       <filter-name>openSessionInViewFilter</filter-name>
       <url-pattern>/*</url-pattern> 
    </filter-mapping> 


在applicationContext.xml中的sessionFactory 中 添加<property name="hibernate.current_session_context_class">thread</property> 属性


<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <!-- 依赖注入数据源,正式上下文定义的dataSource -->
        <property name="dataSource" ref="dataSource" />
   
        <property name="hibernateProperties">
            <value>
                hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
                hibernate.hbm2ddl.auto=update
                hibernate.show_sql=true
                hibernate.format_sql=false
                hibernate.cache.use_second_level_cache=true
                hibernate.cache.use_query_cache=false
                hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
                <span style="color: #ff0000;">hibernate.current_session_context_class=thread</span>
            </value>
       </property>
        
        <!--通过配置文件的方式获取数据源-->
        <property name="mappingResources">
            <list>
               <!-- 以下用来列出所有的PO映射文件 -->
               <value>hibernate.cfg.xml</value>
               <value>test.cfg.xml</value>
            </list>
        </property>     
        
  </bean>


在dao层部分的代码如下,通过<em id="__mceDel" style="line-height: 1.5;">sessionFactory<span style="font-size: 13px;">可以获得当前的事务的session,通过session实现对数据库的操作</span></em>


<br>public class MessageDaoImpl implements MessageDao{
     
    private SessionFactory sessionFactory; 
      
    public Session getSession() { 
        return sessionFactory.getCurrentSession(); 
    } 
   
    public SessionFactory getSessionFactory() { 
        return sessionFactory; 
    } 
   
    public void setSessionFactory(SessionFactory sessionFactory) { 
        this.sessionFactory = sessionFactory; 
    } 
     
    @Override
    public void saveMessage(TestMessage tm) {
        Session session = this.getSession();
        Transaction tran = session.beginTransaction();
        session.save(tm);
        tran.commit();
    }
 
    @Override
    public String getMessage() {
        <span style="color: #ff0000;">Session session = this.getSession();
        Transaction tran = session.beginTransaction();</span>
        List<TestMessage> datas = session.createQuery("From TestMessage").list();
        <span style="color: #ff0000;">tran.commit();</span>
        return datas.get(7).getContent();
    }
}

目录
相关文章
|
13天前
|
Java 关系型数据库 数据库连接
使用 Spring Boot 执行数据库操作:全面指南
使用 Spring Boot 执行数据库操作:全面指南
41 1
|
5月前
|
SQL Java 数据库
使用Spring Boot和Flyway进行数据库迁移
使用Spring Boot和Flyway进行数据库迁移
|
2月前
|
Java 数据库 数据安全/隐私保护
Spring 微服务提示:使用环境变量抽象数据库主机名
Spring 微服务提示:使用环境变量抽象数据库主机名
45 1
|
2月前
|
SQL Java 数据库
Springboot+spring-boot-starter-data-jdbc实现数据库的操作
本文介绍了如何使用Spring Boot的spring-boot-starter-data-jdbc依赖来操作数据库,包括添加依赖、配置数据库信息和编写基于JdbcTemplate的数据访问代码。
151 2
|
2月前
|
SQL Java 数据库连接
springBoot+Jpa(hibernate)数据库基本操作
springBoot+Jpa(hibernate)数据库基本操作
53 0
|
4月前
|
SQL 数据库
Spring5入门到实战------13、使用JdbcTemplate操作数据库(批量增删改)。具体代码+讲解 【下篇】
这篇文章是Spring5框架的实战教程,深入讲解了如何使用JdbcTemplate进行数据库的批量操作,包括批量添加、批量修改和批量删除的具体代码实现和测试过程,并通过完整的项目案例展示了如何在实际开发中应用这些技术。
Spring5入门到实战------13、使用JdbcTemplate操作数据库(批量增删改)。具体代码+讲解 【下篇】
|
4月前
|
SQL Java 数据库连接
Hibernate 是一款开源 ORM(对象关系映射)框架,封装了 JDBC,允许以面向对象的方式操作数据库,简化了数据访问层的开发。
Hibernate 是一款开源 ORM(对象关系映射)框架,封装了 JDBC,允许以面向对象的方式操作数据库,简化了数据访问层的开发。通过映射机制,它可以自动处理对象与数据库表之间的转换,支持主流数据库,提高了代码的可移植性和可维护性。其核心接口包括 SessionFactory、Session 和 Transaction 等,通过它们可以执行数据库的 CRUD 操作。配置方面,需在项目中引入 Hibernate 及数据库驱动依赖,并创建 `hibernate.cfg.xml` 配置文件来设置数据库连接和 Hibernate 行为参数。
57 1
|
4月前
|
XML 数据库 数据格式
Spring5入门到实战------14、完全注解开发形式 ----JdbcTemplate操作数据库(增删改查、批量增删改)。具体代码+讲解 【终结篇】
这篇文章是Spring5框架的实战教程的终结篇,介绍了如何使用注解而非XML配置文件来实现JdbcTemplate的数据库操作,包括增删改查和批量操作,通过创建配置类来注入数据库连接池和JdbcTemplate对象,并展示了完全注解开发形式的项目结构和代码实现。
Spring5入门到实战------14、完全注解开发形式 ----JdbcTemplate操作数据库(增删改查、批量增删改)。具体代码+讲解 【终结篇】
|
4月前
|
SQL XML Java
Spring5入门到实战------12、使用JdbcTemplate操作数据库(增删改查)。具体代码+讲解 【上篇】
这篇文章是Spring5框架的实战教程,详细讲解了如何使用JdbcTemplate进行数据库的增删改查操作,包括在项目中引入依赖、配置数据库连接池、创建实体类、定义DAO接口及其实现,并提供了具体的代码示例和测试结果,最后还提供了完整的XML配置文件和测试代码。
Spring5入门到实战------12、使用JdbcTemplate操作数据库(增删改查)。具体代码+讲解 【上篇】
|
4月前
|
XML JSON Java
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
本文介绍了如何使用IntelliJ IDEA和Maven搭建一个整合了Struts2、Spring4、Hibernate4的J2EE项目,并配置了项目目录结构、web.xml、welcome.jsp以及多个JSP页面,用于刷新和学习传统的SSH框架。
96 0
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧