亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

java - spring mvc整合hibernate5訪問報錯Could not locate cfg.xml resource

瀏覽:40日期:2023-12-08 13:44:07

問題描述

Spring MVC整合Hibernate5框架—dispatcher-servlet.xml文件里已經配置了數據庫連接等信息,寫了個新建數據表的簡單功能(就幾個文件),運行沒有報錯但訪問時報HTTP Status 500錯誤org.hibernate.internal.util.config.ConfigurationException: Could not locate cfg.xml resource [hibernate.cfg.xml],不過很奇怪是數據表成功建立但沒數據寫入。我很納悶的是hibernate4之后不是使用sessionFactoryBean代替hibernate.cfg.xml文件么,我沒有建hibernate.cfg.xml文件。具體的一些文件和錯誤截圖如下

dispatcher-servlet.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' xmlns:context='http://www.springframework.org/schema/context' xmlns:tx='http://www.springframework.org/schema/tx' xsi:schemaLocation='http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd'> <!-- 掃描使用注解的類所在包 --> <context:component-scan base-package='com.hiber.*'/> <!-- 配置數據源 --> <bean destroy-method='close'><property name='driverClassName' value='com.mysql.jdbc.Driver' /><property name='url' value='jdbc:mysql://localhost:3306/hiber?useUnicode=yes&amp;characterEncoding=UTF-8' /><property name='username' value='root' /><property name='password' value='3443'/> </bean> <bean class='org.springframework.orm.hibernate5.LocalSessionFactoryBean'><!-- 注入數據源 --><property name='dataSource' ref='dataSource'/><!-- 找到實體包(pojo) --><property name='packagesToScan' value='com.hiber.*' /><property name='hibernateProperties'> <props> <prop key='hibernate.dialect'>org.hibernate.dialect.MySQL57Dialect</prop> <prop key='hibernate.hbm2ddl.auto'>create</prop> <prop key='hibernate.show_sql'>true</prop> </props></property> </bean> <bean class='org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean'><property name='dataSource' ref='dataSource' /><!-- 找到實體包(pojo) --><property name='packagesToScan' value='com.hiber.*' /><!--指定jpa適配器--><property name='jpaVendorAdapter'> <bean /></property><!--&lt;!&ndash;指定jpa屬性&ndash;&gt;--><!--<property name='jpaProperties'>--> <!--<props>--><!--<prop key='hibernate.dialect'>org.hibernate.dialect.MySQL57Dialect</prop>--><!--<prop key='hibernate.hbm2ddl.auto'>create</prop>--><!--<prop key='hibernate.show_sql'>true</prop>--> <!--</props>--><!--</property>--> </bean> <!-- 配置hibernate事務管理器 --> <bean class='org.springframework.orm.hibernate5.HibernateTransactionManager'><property name='sessionFactory' ref='sessionFactory' /> </bean> <tx:annotation-driven /></beans>

Message.java文件

package com.hiber.entity;import javax.persistence.*;@Entitypublic class Message{ @Id @GeneratedValue(strategy = GenerationType.AUTO) int id; @Column(nullable = false) String text; public Message(String text) {setText(text); } public Message(){} public int getId() {return id; } public void setId(int id) {this.id = id; } public String getText() {return text; } public void setText(String text) {this.text = text; }}

IndexController.java文件

package com.hiber.controllers;import com.hiber.entity.Message;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.boot.MetadataSources;import org.hibernate.boot.registry.StandardServiceRegistry;import org.hibernate.boot.registry.StandardServiceRegistryBuilder;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;@Controllerpublic class IndexController { @RequestMapping(value = '/persist') public String saveMessage(){Message message = new Message('Hello, world');StandardServiceRegistry registry = new StandardServiceRegistryBuilder().configure().build();SessionFactory sessionFactory = new MetadataSources(registry).buildMetadata().buildSessionFactory();Session session = sessionFactory.openSession();Transaction tx = session.beginTransaction();session.persist(message);tx.commit();return '數據添加成功!'; }}

瀏覽器錯誤截圖java - spring mvc整合hibernate5訪問報錯Could not locate cfg.xml resource

數據表新建成功截圖java - spring mvc整合hibernate5訪問報錯Could not locate cfg.xml resource

項目結構java - spring mvc整合hibernate5訪問報錯Could not locate cfg.xml resource

大家幫忙看看究竟是哪里出了問題,Thanks in advance!

問題解答

回答1:

Hibernate5.2版本以上這樣寫:

Message message = new Message('Hello,world!');Configuration configuration = new Configuration();StandardServiceRegistry registry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();SessionFactory sessionFactory = new MetadataSources(registry).buildMetadata().buildSessionFactory();Session session = sessionFactory.openSession();Transaction tx = session.beginTransaction();session.persist(message);tx.commit();return '數據添加成功!';

org.hibernate.internal.util.config.ConfigurationException: Could not locate cfg.xml resource [hibernate.cfg.xml]的問題解決了,但又出現了org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment],同樣求助!

回答2:

查看web.xml配置,如下:

<!-- 加載Spring --><listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!-- spring默認的配置文件名稱是:applicationContext.xml,如果是默認則不需要配置 --><context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml,/WEB-INF/daoContext.xml</param-value></context-param>

其中daoContext.xml中就配置了數據源、sessionFactory,事務管理器、事務;你的有加這些嗎?看錯誤是沒有

標簽: java
相關文章:
主站蜘蛛池模板: 国产精品99 | 亚洲欧美日韩精品久久久 | 九九精品免费观看在线 | 美日韩一级| 妞干网最新视频 | 久热re在线视频精品免费 | 亚洲xx视频| 国产成人精品高清免费 | 国产黄网站 | 美国一级毛片片aa久久综合 | 看一级毛片一区二区三区免费 | 97国产在线视频 | 婷婷丁香啪啪 | 中国一级全黄的免费观看 | 精品一区二区三区四区乱码90 | 国产r级| 亚洲国产精品91 | 亚洲国产精品aaa一区 | 国产色窝 | 欧美中文综合在线视频 | 成年性羞羞视频免费观看无限 | 国产福利微拍精品一区二区 | 亚洲自偷自拍另类12p | 一级性黄色 | 亚洲精品第一页中文字幕 | 三a级片 | 亚洲欧美日韩在线不卡 | 真实国产乱子伦对白视频37p | 麻豆回家视频区一区二 | 黄色网址免费在线 | 国产三级日本三级在线播放 | 亚洲在线免费观看视频 | 国产精品漂亮美女在线观看 | 三级福利片 | 亚洲精品aaa | 日韩小视频在线播放 | 久久99爱视频 | 亚洲欧美一级视频 | 多人性激烈的欧美三级视频 | 激情综合婷婷 | 亚洲国产精品久久网午夜 |