Spring与Hibernate两种组合方式

Spring与Hibernate大致有两种组合方式,主要区别是一种是在Hibernate中的hibernate.cfg.xml中配置数据源,一种是借助Spring的jdbc方式在Spring的applicationContext.xml文件中配置数据源,然后在Spring配置sessionFactory的bean有些区别

下面大致的说明一下

第一种

1.hibernate.cfg.xml文件

  1. xml version='1.0' encoding='utf-8'?> 
  2.         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
  3.         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
  4.  
  5. <hibernate-configuration
  6.  
  7.     <session-factory
  8.  
  9.          
  10.         <property name="connection.driver_class">com.microsoft.jdbc.sqlserver.SQLServerDriverproperty
  11.         <property name="connection.url">jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=acegi;SelectMethod=cursorproperty
  12.         <property name="connection.username">saproperty
  13.         <property name="connection.password">serverproperty
  14.         <property name="show_sql">trueproperty
  15.  
  16.          <mapping resource=""/> 
  17.  
  18.     session-factory
  19.  
  20. hibernate-configuration

2.在spring配置sessionFactory

  1. <bean id="sessionFactory"    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
  2.    <property name="configLocation" value="classpath:hibernate.cfg.xml"></property> 
  3.  </bean> 
  4.  <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
  5.     <property name="sessionFactory" ref="sessionFactory"></property> 
  6.  </bean> 
  7.  <tx:annotation-driven transaction-manager="txManager"/> 

或者实现hibernate零配置

  1. <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
  2.    <property name="configLocation" value="classpath:hibernate.cfg.xml"></property> 
  3.     <property name="packagesToScan" value="com/wch/entity/"></property> 
  4.  </bean> 
  5.  <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
  6.     <property name="sessionFactory" ref="sessionFactory"></property> 
  7.  </bean> 
  8.  <tx:annotation-driven transaction-manager="txManager"/> 

第二种

  1. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> 
  2.          <property name="driverClassName" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/> 
  3.          <property name="url" value="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=acegi;SelectMethod=cursor"/> 
  4.          <property name="username" value="sa"/> 
  5.          <property name="password" value="server"/> 
  6.  
  7.  
  8.    </bean> 
  9.     
  10.  <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
  11.    <property name="dataSource" value="dataSource"></property> 
  12.  
  13. <property name="mappingResources"> 
  14.      <list> 
  15.               <value>user.hbm.xml</value> 
  16.      </list> 
  17.  </property> 
  18.  <property name="hibernateProperties"> 
  19.       <props> 
  20.         <prop key="hibernate.show_sql">true</prop> 
  21.    </props> 
  22.   </property> 
  23.  </bean>    
  24.  
  25.     </bean> 
  26.  <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
  27.     <property name="sessionFactory" ref="sessionFactory"></property> 
  28.  </bean> 
  29.  <tx:annotation-driven transaction-manager="txManager"/> 

或者实现hibernate的零配置 

  1. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> 
  2.         <property name="driverClassName" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/> 
  3.         <property name="url" value="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=acegi;SelectMethod=cursor"/> 
  4.         <property name="username" value="sa"/> 
  5.         <property name="password" value="server"/> 
  6.   </bean> 
  7.    
  8. <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
  9.   <property name="dataSource" value="dataSource"></property> 
  10.    <property name="packagesToScan" value="com/wch/entity/"></property> 
  11. </bean> 
  12. <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
  13.    <property name="sessionFactory" ref="sessionFactory"></property> 
  14. </bean> 
  15. <tx:annotation-driven transaction-manager="txManager"/>  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/544695.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java CharArrayReader mark()方法与示例

CharArrayReader类mark()方法 (CharArrayReader Class mark() method) mark() method is available in java.io package. mark()方法在java.io包中可用。 mark() method is used to mark the current position in the stream and whenever the call to reset() method so it re…

C# Winform 窗体美化(五、鼠标穿透)

五、鼠标穿透 以前在玩射击游戏的时候&#xff0c;狙击枪的设定一般是开镜才有准星&#xff0c;所以想是不是可以自己造一个默认准星出来&#xff0c;思路是现在窗口上画一个准星&#xff0c;然后把窗体其他区域都透明&#xff0c;然后设置鼠标穿透&#xff1b; 结果是&#…

生产环境一次诡异的NPE问题,反转了4次

前言公司为了保证系统的稳定性&#xff0c;加了很多监控&#xff0c;比如&#xff1a;接口响应时间、cpu使用率、内存使用率、错误日志等等。如果系统出现异常情况&#xff0c;会邮件通知相关人员&#xff0c;以便于大家能在第一时间解决隐藏的系统问题。此外&#xff0c;我们这…

ZooKeeper学习笔记—配置管理

为什么80%的码农都做不了架构师&#xff1f;>>> 最近在工作中&#xff0c;为了完善公司集群服务的架构&#xff0c;提高可用性&#xff0c;降低运维成本&#xff0c;因此开始学习ZooKeeper。 至于什么是ZooKeeper&#xff1f;它能做什么&#xff1f;如何安装ZooKee…

Java BigDecimal compareTo()方法与示例

BigDecimal类compareTo()方法 (BigDecimal Class compareTo() method) compareTo() method is available in java.math package. compareTo()方法在java.math包中可用。 compareTo() method is used to compare this BigDecimal object to the given object or in other words …

C# Winform 窗体美化(六、双层窗体)

六、双层窗体 大概情况 双层床体是为了平滑的创建异形窗体的一个解决方案&#xff0c;找了很多资料&#xff0c;整理了一下。 双层窗体的逻辑是建立在 UpdateLayeredWindow 不能绘制控件的基础上&#xff0c;上层再添加一个专门放置控件的层&#xff1b;这样就可以在上层“控…

批处理框架 Spring Batch 这么强,你会用吗?

来源&#xff1a;blog.csdn.net/topdeveloperr/article/details/84337956spring batch简介Spring Batch架构介绍Spring Batch核心概念介绍chunk 处理流程批处理操作指南spring batch简介 spring batch是spring提供的一个数据处理框架。企业域中的许多应用程序需要批量处理才能在…

Android Bundle类别

即使在今天发现自己Bundle类不明确&#xff0c;因此&#xff0c;花时间去研究了一下。 依据google官方文件&#xff08;http://developer.android.com/reference/android/os/Bundle.html&#xff09; Bundle类是一个key-value对&#xff0c;“A mapping from String values to …

C# Winform 窗体美化(七、Win7 Aero 毛玻璃效果)

七、Win7 Aero 毛玻璃效果 在 Win7 上有一种 Aero 效果&#xff0c;毛玻璃透明效果&#xff0c;搭配不同风格的颜色&#xff0c;效果很好。在学习 Winform 美化的时候顺便看到的这种效果&#xff0c;也整理进来了。 注意&#xff1a;Win7 上想看到这种效果需要开启并使用 Aer…

非导向传输媒体| 计算机网络

Transmission media can be categorized in two ways, 传输媒体可以通过两种方式进行分类&#xff1a; Guided Transmission Media 引导传输媒体 Unguided Transmission Media 非引导传输媒体 1)非引导传输媒体 (1) Unguided Transmission Media) It is also called wireless …

面霸篇:MQ 的 5 大关键问题详解

最近mq越来越火&#xff0c;很多公司在用&#xff0c;很多人在用&#xff0c;其重要性不言而喻。但是如果我让你回答下面的这些问题&#xff1a;我们为什么要用mq&#xff1f;引入mq会多哪些问题&#xff1f;如何解决这些问题&#xff1f;你心中是否有答案了呢&#xff1f;本文…

C# Winform 窗体美化(八、Icon)

八、Icon 之前 Winform 项目也有在 Icon 上遇到些问题&#xff08;这里的 Icon 指的是 .ico 类型的文件&#xff09;&#xff0c;比如刚开始不知道怎么让自己的程序 Icon 和其他软件一样可以放大&#xff0c;还有放大之后在音量合成器中会出现比较奇葩的效果之类的问题&#x…

Java LocalDate类| 带示例的getEra()方法

LocalDate类的getEra()方法 (LocalDate Class getEra() method) getEra() method is available in java.time package. getEra()方法在java.time包中可用。 getEra() method is used to get the era applicable for this LocalDate object. getEra()方法用于获取适用于此LocalD…

MyBatis 的执行流程,学废了!

作者&#xff1a;双子孤狼来源&#xff1a;blog.csdn.net/zwx900102/article/details/108455514MyBatis可能很多人都一直在用&#xff0c;但是MyBatis的SQL执行流程可能并不是所有人都清楚了&#xff0c;那么既然进来了&#xff0c;通读本文你将收获如下&#xff1a;1、Mapper接…

C# Winform 窗体美化(九、嵌入窗体)

九、嵌入窗体 还是关于 Winform 窗体的一些操作问题&#xff0c;这次是研究了一个嵌入窗体&#xff0c;这次学习纯属偶然&#xff0c;项目中确实没遇到过这种需求。就是把别人的程序嵌入到自己的程序中&#xff0c;就像这样&#xff1a; 这里我嵌入了测试显示器的程序 [外链图…

Mac 流程图

https://www.lucidchart.com/pages/signup?utm_expid39895073-174.qKyHpBEbQS26y86OArD-rQ.1 https://www.processon.com/

setname_Python线程类| setName()方法与示例

setnamePython Thread.setName()方法 (Python Thread.setName() Method) Thread.setName() method is an inbuilt method of the Thread class of the threading module in Python. It uses a Thread object and sets the name of the thread. Thread.setName()方法是Python中线…

SpringBoot 优雅的参数效验!

引言 不知道大家平时的业务开发过程中 controller 层的参数校验都是怎么写的&#xff1f;是否也存在下面这样的直接判断&#xff1f;public String add(UserVO userVO) {if(userVO.getAge() null){return "年龄不能为空";}if(userVO.getAge() > 120){return &quo…

NTFS Change Journal(USN Journal)详解

写在前面 最近又用了一下usn日志来获取所有文件列表&#xff0c;在分多次加载文件列表的时候发现有文件丢失的情况&#xff0c;后来发现一篇文章比较详细的讲了usn。 用cmd来读取usn日志 如图&#xff1a; 以下是转载内容&#xff1a; 还是那个文件监控的应用&#xff0c;…

Java即时类| hashCode()方法与示例

即时类hashCode()方法 (Instant Class hashCode() method) hashCode() method is available in java.time package. hashCode()方法在java.time包中可用。 hashCode() method is used to get the hash code value for this Instant. hashCode()方法用于获取此Instant的哈希码值…