亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

不能正常運行

https://img1.sycdn.imooc.com//5b497a5a00015b9e16400515.jpg

https://img1.sycdn.imooc.com//5b497a1b00010a9519200827.jpg

https://img1.sycdn.imooc.com//5b497a360001174019200884.jpg

https://img1.sycdn.imooc.com//5b497a46000143cf11700196.jpg

https://img1.sycdn.imooc.com//5b497a6800010d1516620617.jpg

需要哪部分的代碼或截圖可以告訴我,請各位幫忙看一下,謝謝

正在回答

5 回答

建議寫數據庫連接語句這樣會拋出異常的語句,最好寫在try catch 里面,出了問題也能快速鎖定

0 回復 有任何疑惑可以回復我~

package hibernate_Demo;



import java.util.Date;


import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.Transaction;

import org.hibernate.cfg.Configuration;

import org.hibernate.service.ServiceRegistry;

import org.hibernate.service.ServiceRegistryBuilder;

import org.junit.After;

import org.junit.Before;

import org.junit.Test;


public class StudentTest {

private SessionFactory sessionFactory;

private Session session;

private Transaction transaction;

@Before

public void init() {

// 創建配置對象

Configuration config = new Configuration().configure();

// 創建服務注冊對象

ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();

// 創建會話工廠對象

sessionFactory = config.buildSessionFactory(serviceRegistry);

// 會話對象

session = sessionFactory.openSession();

// 開啟事務

transaction = session.beginTransaction();

}

@After

public void destory() {

// 提交事務

transaction.commit();

// 關閉會話

session.close();

// 關閉會話工廠

sessionFactory.close();

}


@Test

public void testSaveStudent() {

Students s = new Students(1,"11","11",new Date(),"1");

session.save(s);

}

}


0 回復 有任何疑惑可以回復我~
#1

qq_黑色Aquarius_0

你不回復我在自己帖子下寫我哪看得到....... 代碼看起來沒問題,不過你那個異常信息中還有個時區連接錯誤,搜一下說,可能是你的mysql-jdbc版本高了,結果配置方式變了要在connection.url那個連接數據庫語句后面拼接一個&serverTimezone=UTC https://blog.csdn.net/mjlfto/article/details/74906163
2018-07-14 回復 有任何疑惑可以回復我~
#2

qq_黑色Aquarius_0 回復 qq_黑色Aquarius_0

那么問題就可能是如下,你連接數據庫時出了問題,拋出了異常,但你沒有捕獲這個異常導致程序接著往下走.然后以后沒有獲取到數據庫連接,導致下面進行事務提交的時候拋出了空指針
2018-07-14 回復 有任何疑惑可以回復我~
#3

the__sky123 提問者 回復 qq_黑色Aquarius_0

加時區了org.hibernate.HibernateException: Could not parse configuration: /hibernate.cfg.xml 和空指針異常
2018-07-14 回復 有任何疑惑可以回復我~
#4

qq_黑色Aquarius_0 回復 the__sky123 提問者

那可能是時區加的方法不對,你還是換個低點版本的mysql-jdbc吧,高版本的寫法也不同,需要你自己研究
2018-07-14 回復 有任何疑惑可以回復我~
查看1條回復
以下是StudentTest。java
package?hibernate_Demo;import?java.util.Date;import?org.hibernate.Session;import?org.hibernate.SessionFactory;import?org.hibernate.Transaction;import?org.hibernate.cfg.Configuration;import?org.hibernate.service.ServiceRegistry;import?org.hibernate.service.ServiceRegistryBuilder;import?org.junit.After;import?org.junit.Before;import?org.junit.Test;public?class?StudentTest?{	private?SessionFactory?sessionFactory;	private?Session?session;	private?Transaction?transaction;	@Before	public?void?init()?{		//?創建配置對象		Configuration?config?=?new?Configuration().configure();		//?創建服務注冊對象		ServiceRegistry?serviceRegistry?=?new?ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();		//?創建會話工廠對象		sessionFactory?=?config.buildSessionFactory(serviceRegistry);		//?會話對象		session?=?sessionFactory.openSession();		//?開啟事務		transaction?=?session.beginTransaction();	}		@After	public?void?destory()?{		//?提交事務		transaction.commit();		//?關閉會話		session.close();		//?關閉會話工廠		sessionFactory.close();	}	@Test	public?void?testSaveStudent()?{		Students?s?=?new?Students(1,"11","11",new?Date(),"1");		session.save(s);	}		}


0 回復 有任何疑惑可以回復我~

org.hibernate.exception.GenericJDBCException: Could not open connection

at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)

at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)

at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110)

at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:221)

at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.getConnection(LogicalConnectionImpl.java:157)

at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doBegin(JdbcTransaction.java:67)

at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:160)

at org.hibernate.internal.SessionImpl.beginTransaction(SessionImpl.java:1426)

at hibernate_Demo.StudentTest.init(StudentTest.java:31)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)

at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)

at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)

at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)

at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)

at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)

at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)

at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)

at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)

at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)

at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)

at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)

at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)

at org.junit.runners.ParentRunner.run(ParentRunner.java:300)

at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)

at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)

Caused by: java.sql.SQLException: The server time zone value '?D1ú±ê×?ê±??' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:127)

at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:95)

at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:87)

at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:61)

at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:71)

at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:76)

at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:862)

at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:444)

at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:230)

at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:226)

at org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl.getConnection(DriverManagerConnectionProviderImpl.java:204)

at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:292)

at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:214)

... 29 more

Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value '?D1ú±ê×?ê±??' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:59)

at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:83)

at com.mysql.cj.util.TimeUtil.getCanonicalTimezone(TimeUtil.java:128)

at com.mysql.cj.protocol.a.NativeProtocol.configureTimezone(NativeProtocol.java:2201)

at com.mysql.cj.protocol.a.NativeProtocol.initServerSession(NativeProtocol.java:2225)

at com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:1391)

at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:993)

at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:852)

... 35 more


java.lang.NullPointerException

at hibernate_Demo.StudentTest.destory(StudentTest.java:37)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)

at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)

at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)

at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:36)

at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)

at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)

at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)

at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)

at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)

at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)

at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)

at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)

at org.junit.runners.ParentRunner.run(ParentRunner.java:300)

at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)

at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)


0 回復 有任何疑惑可以回復我~
#1

qq_黑色Aquarius_0

這個就說明不是xml的問題了 Could not open connection 是連接不到數據庫,要么數據配置不對或不存在,要么就是你在執行某個操作前關了連接 java.lang.NullPointerException 空指針異常,那個地方沒有獲取到對象,就在這一行at hibernate_Demo.StudentTest.destory(StudentTest.java:37)
2018-07-14 回復 有任何疑惑可以回復我~

可能是students xml的路徑不對,你看是不是要放在同一文件夾下

0 回復 有任何疑惑可以回復我~
#1

the__sky123 提問者

要把兩個xml放到一個文件下?
2018-07-14 回復 有任何疑惑可以回復我~
#2

qq_黑色Aquarius_0 回復 the__sky123 提問者

試一下看看,不在一個路徑下可能找不到
2018-07-14 回復 有任何疑惑可以回復我~
#3

qq_黑色Aquarius_0 回復 qq_黑色Aquarius_0

放在別的路徑下,resources要寫不同相對路徑,應該
2018-07-14 回復 有任何疑惑可以回復我~
#4

the__sky123 提問者 回復 qq_黑色Aquarius_0

不行,把他倆都放在一個文件夾下會報錯了Configuration resource: /hibernate.cfg.xml
2018-07-14 回復 有任何疑惑可以回復我~
#5

qq_黑色Aquarius_0 回復 the__sky123 提問者

那要看你代碼怎么寫的了
2018-07-14 回復 有任何疑惑可以回復我~
#6

the__sky123 提問者 回復 qq_黑色Aquarius_0

需要看哪部分代碼
2018-07-14 回復 有任何疑惑可以回復我~
#7

qq_黑色Aquarius_0 回復 the__sky123 提問者

你那個單元測試的
2018-07-14 回復 有任何疑惑可以回復我~
#8

the__sky123 提問者 回復 qq_黑色Aquarius_0

什么?
2018-07-14 回復 有任何疑惑可以回復我~
#9

qq_黑色Aquarius_0 回復 the__sky123 提問者

就是你那個test,不過看你報的錯是路徑不對,你也可以試一下在寫resources="hibernate_Demo/Students.hbm.xml"
2018-07-14 回復 有任何疑惑可以回復我~
#10

the__sky123 提問者 回復 qq_黑色Aquarius_0

INFO: HHH000040: Configuration resource: /hibernate.cfg.xml成這樣了
2018-07-14 回復 有任何疑惑可以回復我~
#11

qq_黑色Aquarius_0 回復 the__sky123 提問者

能不能搞個報錯信息...INFO: HHH000040: Configuration resource: /hibernate.cfg.xml這根本就不是報錯信息啊...,mappingnotfound就是找不到文件異常,這個不是你eclipse抽風就是你哪路徑寫錯了.你可以捕捉一下異常,斷點跟蹤一下
2018-07-14 回復 有任何疑惑可以回復我~
#12

qq_黑色Aquarius_0 回復 qq_黑色Aquarius_0

如果是緩存問題就clean一下項目
2018-07-14 回復 有任何疑惑可以回復我~
#13

the__sky123 提問者 回復 qq_黑色Aquarius_0

報錯信息在哪看
2018-07-14 回復 有任何疑惑可以回復我~
#14

the__sky123 提問者 回復 qq_黑色Aquarius_0

找到了
2018-07-14 回復 有任何疑惑可以回復我~
查看11條回復

舉報

0/150
提交
取消

不能正常運行

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號