在已有spring的基础上集成hibernate的实例讲解

1.导入hibernate的包和spring的包

hibernate3、hibernate-jpa-2.0-api-、必须的包,log4j,log4j配置文件

1.1 导入Spring的依赖包

1.2 导入log4j的依赖包

1.3 导入dbcp的依赖包

1.4 导入hibernate3的依赖包(hibernate3.jar、require文件中的所有,sif4-api.jar,jpa文件夹中的包)

2.创建applicationContext.xml

2.1 使用DBCP创建dataSource(和集成JDBP一样)

<!-- 配置数据源 -->
 <bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
  <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
  <property name="url" value="jdbc:mysql://localhost:3306/spring_teach"/>
  <property name="username" value="root"/>
  <property name="password" value="111111"/>
 </bean>

2.2 创建hibernate的sessionFactory

<!-- 配置 Hibernate 的 SessionFactory 实例: 通过 Spring 提供的 LocalSessionFactoryBean 进行配置 -->
 <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
  <!-- 配置数据源属性 -->
  <property name="dataSource" ref="dataSource"></property>
  <!-- 配置 hibernate 配置文件的位置及名称 -->
  <property name="hibernateProperties" value="classpath:hibernate.cfg.xml"></property>
  <!-- 配置 hibernate 映射文件的位置及名称, 可以使用通配符 -->
  <property name="packagesToScan"
   value="classpath:org/zttc/itat/model/*.hbm.xml"></property>
 </bean>

其中 hibernate.cfg.xml,其上有引用:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
  "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
 <session-factory>
  <!-- 配置hibernate基本信息 -->
  <!-- 1.数据源配置在IOC容器中,此处不需要额外配置 -->
  <!-- 2.关联的.hbm.xml文件也在IOC容器配置SessionFactory时配置 -->
  <!-- 3.此处配置hibernate的基本信息:数据库方言、SQL显示及格式化,及生成数据表的策略,二级缓存等 -->
  <property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>

  <property name="hibernate.show_sql">true</property>
  <property name="hibernate.format_sql">true</property>

  <property name="hibernate.hbm2ddl.auto">update</property>

 </session-factory>
</hibernate-configuration>

3. 为实体类添加annotation或hbm文件

4.创建基于hibernate的DAO

4.1 在相应的DAO注入相应的SessionFactory

4.2 如果通过spring来管理相应的SessionFactory,不再使用factory.openSession(),而应该是factory.getCurrentSession()来打开session,这个session就会被spring管理。

5. 配置spring事务处理

<!-- 配置 Spring 的声明式事务 -->
 <!-- 1. 配置事务管理器 -->
 <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
  <property name="sessionFactory" ref="sessionFactory"></property>
 </bean>

 <!-- 2. 配置事务属性, 需要事务管理器 -->
 <tx:advice id="txAdvice" transaction-manager="transactionManager">
  <tx:attributes>
   <!--<tx:method name="get*" read-only="true"/> -->
   <!--<tx:method name="purchase" propagation="REQUIRES_NEW"/> -->
   <!-- 让所有方法都加入事务管理 -->
   <tx:method name="*"/>
  </tx:attributes>
 </tx:advice>

 <!-- 3. 配置事务切点, 并把切点和事务属性关联起来 -->
 <aop:config>
  <!-- 设置poincut表示哪些方法要加入事务处理 -->
  <aop:pointcut expression="execution(* org.zttc.itat.dao.*.*(..))" id="allMethods"/>
  <!-- 通过advisor来确定具体要加入事务控制的方法 -->
  <aop:advisor advice-ref="txAdvice" pointcut-ref="allMethods"/>
 </aop:config>

以上这篇在已有spring的基础上集成hibernate的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Spring集成Struts与Hibernate入门详解

    前言 最近将Spring,Struts,Hiberbate基础已经学习完成.想自己把这三个框架集成一下,然后再写一个后台管理网站练练手.Spring的作用是依赖注入,而Struts是显示层的东西,这两个框架集成后是什么样子.一边学习,一边记录.上车. Spring集成所需jar包 首先,Spring集成Struts,那么applicationContext.xml和struts.xml,web.xml肯定是不能少的.前面两个是Spring和Struts的配置文件,后面一个是整个web的全局配置文

  • spring+hibernate 两种整合方式配置文件的方法

    之前的文章都是讲解springmvc+spring+mybatis 的整合,而很少有springmvc+spring+hibernate 因为工作的需要,最近在使用hibernate 所以下面我们来看看 spring整合hibernate的配置文件,这里只说spring+hibernate 的配置文件而不说springmvc 因为这些是不用变的. spring整合hibernate 有两种方式 1.注解方式 2.xml方式实现 1.注解方式实现: applicationContext.xml配置

  • spring结合hibernate示例详解

    单纯Hibernate程序 1.首先是导入hibernate的jar包. 2. 建立用户和用户操作记录实体,Log.Java和User.java.代码如下所示. Log.java import java.util.Date; public class Log { private int id; //日志的类别.日志一般起到一个不可否认性. //操作日志 安全日志 事件日志. private String type; private String detail; private Date time

  • 在已有spring的基础上集成hibernate的实例讲解

    1.导入hibernate的包和spring的包 hibernate3.hibernate-jpa-2.0-api-.必须的包,log4j,log4j配置文件 1.1 导入Spring的依赖包 1.2 导入log4j的依赖包 1.3 导入dbcp的依赖包 1.4 导入hibernate3的依赖包(hibernate3.jar.require文件中的所有,sif4-api.jar,jpa文件夹中的包) 2.创建applicationContext.xml 2.1 使用DBCP创建dataSourc

  • Spring纯Java配置集成kafka代码实例

    这篇文章主要介绍了Spring纯Java配置集成kafka代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 KafkaConfig.java package com.niugang.config; import java.util.HashMap; import java.util.Map; import org.apache.kafka.clients.consumer.ConsumerConfig; import org.apache

  • spring boot与kafka集成的简单实例

    本文介绍了spring boot与kafka集成的简单实例,分享给大家,具体如下: 引入相关依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.

  • spring boot 图片上传与显示功能实例详解

    首先描述一下问题,spring boot 使用的是内嵌的tomcat, 所以不清楚文件上传到哪里去了, 而且spring boot 把静态的文件全部在启动的时候都会加载到classpath的目录下的,所以上传的文件不知相对于应用目录在哪,也不知怎么写访问路径合适,对于新手的自己真的一头雾水. 后面想起了官方的例子,没想到一开始被自己找到的官方例子,后面太依赖百度谷歌了,结果发现只有官方的例子能帮上忙,而且帮上大忙,直接上密码的代码 package hello; import static org

  • Spring Boot Jar 包部署脚本的实例讲解

    当使用 Spring Boot 进行开发时,它可以将项目打包成 Jar 包进行部署,但是我们的部署环境一般都是 Linux,每次手写脚本很烦人,所以我提供了一个简单的脚本,用于部署 Spring Boot 生成的 Jar 包. 脚本内容很简单,就是通过端口 kill 掉旧的进程,并将新的 Jar 包部署上去. #!/bin/bash port=8090 jar_name="上传到服务器上的 Jar 包名称" deployed_jar="服务器上部署的 Jar 包名称"

  • spring和quartz整合,并简单调用(实例讲解)

    工作中会定时任务~简单学习一下. 第0步: 工欲善其事必先利其器,首先要做的自然是导包了. 在spring配置包扫描以及在 pom导入包 spring.xml: pom.xml 1.在spring-quartz.xml(和spring.xml同一个位置)配置相关属性 xml的头部每个人都可能不一样,这个自己要用的时候注意. quartz表达式根据自己需求去写,不列举了,这里的是1秒一次的. 2.Task包下配置类 我们这边将定时任务存放到一个包中,命名为task.用spring的自动注解serv

  • Spring MVC中自定义拦截器的实例讲解

    1. 引言 拦截器(Interceptor)实现对每一个请求处理前后进行相关的业务处理,类似于Servlet的Filter. 我们可以让普通的Bean实现HandlerIntercpetor接口或继承HandlerInterceptorAdapter类来实现自定义拦截器. 通过重写WebMvcConfigurerAdapter的addIntercetors方法来注册一个计算每一次请求的处理时间的拦截器. 2. 自定义拦截器的实现 2.1 定义拦截器 新建LogInterceptor类,并继承Ha

  • HttpsURLConnection上传文件流(实例讲解)

    项目需要对接外部接口,将图片文件流发送到外部接口,下面代码就是HttpsURLConnection如何上传文件流: /** * HttpsURLConnection上传文件流 * * @param args * @throws Exception */ public static void main(String[] args) throws Exception { //本地图片 java.io.File file = new java.io.File("/Users/jikukalun/Pic

  • spring boot自定义log4j2日志文件的实例讲解

    背景:因为从 spring boot 1.4开始的版本就要用log4j2 了,支持的格式有json和xml两种格式,此次实践主要使用的是xml的格式定义日志说明. spring boot 1.5.8.RELEASE 引入log4j2的开发步骤如下: 1.首先把spring-boot-starter-web以及spring-boot-starter包下面的spring-boot-starter-logging排除,然后引入spring-boot-starter-log4j2包. <dependen

  • Spring+SpringMVC+Hibernate整合实例讲解

    使用Maven构建项目,用pom.xml引入相应jar,配置以下文件 创建spring.xml: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xmlns

随机推荐