日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

实例演示如何在spring4.2.2中集成hibernate5.0.2并创建sessionFactory

發布時間:2025/4/9 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 实例演示如何在spring4.2.2中集成hibernate5.0.2并创建sessionFactory 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文地址:http://blog.csdn.net/sushengmiyan/article/details/49388209

文章作者:蘇生米沿


本文目的:使用spring4.2.2集成hibernate5.0.2并創建sessionFactory實例。

開發環境:eclipse(jee_mars) JDK1.8 MYSQL5.6?

spring下載地址:?https://repo.spring.io/list/release/org/springframework/spring/4.2.2.RELEASE/

一。XML配置方式

環境搭建:新建一個java工程xmlBasedspringhelloword,引入以下jar包:

1.引入hibernate需要的jar包:antlr-2.7.7.jar、dom4j-1.6.1.jar、geronimo-jta_1.1_spec-1.1.1.jar、hibernate-core-5.0.2.Final.jar、hibernate-jpa-2.1-api-1.0.0.Final.jar、jandex-1.2.2.Final.jar、javassist-3.18.1-GA.jar、jboss-logging-3.3.0.Final.jar


2.新建hibernate的配置文件hibernate.cfg.xml

配置文件內容如下:

<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration><session-factory><!-- =============== 數據庫連接設置 =================== --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property><property name="connection.url">jdbc:mysql://localhost:3306/basichibernatepractice?characterEncoding=UTF8</property><property name="connection.username">root</property><property name="connection.password">123123</property><!-- =============== 配置使用c3p0數據庫連接池 =================== --> <property name="connection.pool_size">1</property><property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property><property name="c3p0.min_size">5</property><property name="c3p0.max_size">20</property><property name="c3p0.timeout">120</property><property name="c3p0.idle_test_period">3000</property><!-- =============== 數據庫方言設置 =================== --> <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property><!-- =============== 二級緩存設置 =================== --> <property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property><!-- =============== 控制臺打印sql語句設置設置 =================== --><property name="show_sql">true</property><!-- =============== 數據庫表結構更新設置 =================== --><property name="hbm2ddl.auto">update</property><!-- =============== 實體關系列表 =================== --></session-factory></hibernate-configuration>


3.導入spring需要的jar包:spring-beans-4.2.2.RELEASE.jar、spring-context-4.2.2.RELEASE.jar、spring-core-4.2.2.RELEASE.jar、spring-expression-4.2.2.RELEASE.jar、spring-orm-4.2.2.RELEASE.jar、spring-tx-4.2.2.RELEASE.jar


4.新建spring的容器?ApplicationContext.xml

里面內容如下:

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><!-- 配置hibernate5的SessionFactory --><bean name = "localSessionFactoryBean" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"><property name="configLocation" value="classpath:hibernate.cfg.xml"></property></bean></beans>
5.導入的jar包如下所示。


6.新建測試類Spring4WithHibernate5HelloTest

實現如下:

package com.sushengmiyan.hellospring.hellohibernate5;import org.hibernate.SessionFactory; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;public class Spring4WithHibernate5HelloTest {public static void main(String[] args) {@SuppressWarnings("resource")ApplicationContext context = new ClassPathXmlApplicationContext("ApplicationContext.xml");SessionFactory sf = context.getBean("localSessionFactoryBean", SessionFactory.class);System.out.println(sf);} }
運行測試,成功輸出sessionFactory.


實現講解:

1。正常方式配置hibernate

2。創建spring的容器,容器中添加對hibernate的引用。

3.容器中獲取,注意容器中添加的是org.springframework.orm.hibernate5.LocalSessionFactoryBean但是從容器中取出的時候,是取得它生成的SessionFactory.

要不然會產生異常Exception in thread "main" org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'localSessionFactoryBean' must be of type [org.springframework.orm.hibernate5.LocalSessionFactoryBean], but was actually of type [org.hibernate.internal.SessionFactoryImpl]



二。java配置方式

1.新建工程javaBasedspringhelloword,將上述hibernate配置移植到本工程。

2.新添加jar包spring-aop-4.2.2.RELEASE.jar

3.填寫配置文件java類 Appconfig.java

內容如下:

package com.sushengmiyan.hellospring.helloHibernate5;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.io.ClassPathResource; import org.springframework.orm.hibernate5.LocalSessionFactoryBean;@Configuration public class AppConfig {@Beanpublic LocalSessionFactoryBean localSessionFactoryBean(){LocalSessionFactoryBean localSessionFactoryBean = new LocalSessionFactoryBean();localSessionFactoryBean.setConfigLocation(new ClassPathResource("hibernate.cfg.xml"));return localSessionFactoryBean;} } 此等同于上述xml配置中的Application.xml文件。

4.測試類書寫

package com.sushengmiyan.hellospring.helloHibernate5;import org.hibernate.SessionFactory; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class Spring4WithHibernate5HelloTest {public static void main(String[] args) {ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);SessionFactory sf = context.getBean("localSessionFactoryBean", SessionFactory.class);System.out.println(sf); }} 運行也可以看到正常輸出。


轉載于:https://www.cnblogs.com/muyuge/p/6152460.html

總結

以上是生活随笔為你收集整理的实例演示如何在spring4.2.2中集成hibernate5.0.2并创建sessionFactory的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。