(三)spring与Hibernate的整合

原创 2016年08月30日 21:12:49

1.创建数据库

不需要创建表,只需要创建数据库。

mysql> create database ssh_em;

2.创建实体类的配置文件

实体类的配置文件如下:

这里写图片描述

配置文件头部的约束信息我们可以在hibernate的核心包hibernate3.jar下的第一个包org.hibernate下面的dtd约束信息中找到。

3.组织jdbc的属性文件

我们在src下面建立一个属性文件来存储数据库的一些信息。文件内容如下:

jdbc.DriverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssh_em
jdbc.username=root
jdbc.password=654321

4.applicationContext.xml文件中配置hibernate

①:引入属性文件

既然我们第三步已经准备好数据库的属性文件,那么我们将数据库属性文件引入spring

具体如下:

    <!-- 引入外部属性文件 -->
    <context:property-placeholder location="classpath:jdbc.properties"/>

②:配置连接池

我们使用c3p0连接池,因此连接池的具体配置如下:

    <!-- 配置连接池 -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${jdbc.DriverClass}"></property>
        <property name="jdbcUrl" value="${jdbc.url}"></property>
        <property name="user" value="${jdbc.username}"></property>
        <property name="password" value="${jdbc.password}"></property>
    </bean>

这里我们要注意的是,可以使用${ …}的形式来引入外部属性文件的属性值。

③:配置Hibernate的相关属性

Hibernate有很多属性,首先我们需要注入连接池,然后配置hibernate的其他属性,最后将映射文件引入。这里会涉及到hibernate的几个属性。具体看下面的代码:

    <!-- 配置Hibernate的相关属性 -->
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <!-- 注入连接池 -->
        <property name="dataSource" ref="dataSource"></property>
        <!-- 配置Hibernate的属性 -->
        <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.format_sql">true</prop>
            <prop key="hibernate.hbm2ddl.auto">update</prop>
        </props>
        </property>
        <!-- 加载映射文件 -->
        <property name="mappingResources">
            <list>
                <value>com/vayne/ssh/domain/Product.hbm.xml</value>
            </list>
        </property>
    </bean>

上述配置共涉及到dataSource、hibernateProperties和mappingResources属性。下面我们来简要看一下LocalSessionFactoryBean这个类的相关信息:

这里写图片描述

其中mappingResources是Properties类型的,因此需要用list标签来遍历。

5.DAO层代码编写

DAO层使用Hibernate需要有一个模板,在Hibernate中已经为我们创建好了这个模板,因此我们只需要继承这个模板类即可:

package com.vayne.ssh.dao;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.vayne.ssh.domain.Product;

/**
 * 
 * 商品管理的DAO类
 * 
 */
public class ProductDao extends HibernateDaoSupport{

    public void save(Product product) {

        System.out.println("dao中的save执行了..."); 
        this.getHibernateTemplate().save(product);  

    }

}

另外我们需要注意的是,模板中需要一个sessionFactory对象,因此我们需要spring为其注入这个对象,所以在applicationContext.xml文件中DAO类配置做如下改动:

这里写图片描述

即注入一个sessionFactory对象。

6.添加一个事务

事务添加如下:

这里写图片描述

最后只需要在service类中添加注解即可。

这里写图片描述

至此,三大框架整合完毕。

版权声明:本文为博主原创文章,转载请注明出处。

相关文章推荐

使用MyEclipse整合ssh(Struts、Spring、Hibernate)三大框架(环境搭载+实例源码下载)

[置顶]         使用MyEclipse整合ssh(Struts、Spring、Hibernate)三大框架(环境搭载+实例源码下载)                 ...

三大框架的整合(struts2.2.1+spring3.0.4+hibernate3.6.4)

一、         Jar包1.       Mysql数据库驱动包   2.    &...

手动配置三大框架整合,Spring+Struts2+Hibernate

运用三大框架,使用MyEclipse帮我们导入jar包会发现有些包冲突了或者有些包是多余的,让我们来手动配置三大框架吧! 1、下载三大框架的必备的jar包,下载地址:http://download.c...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)