Mysql 具有注释的第一个Hibernate类
这是我的hibernate.cfg.xml文件Mysql 具有注释的第一个Hibernate类,mysql,hibernate,Mysql,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"> <hiberna
<?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.username">root</property>
<property name="connection.password">root</property>
<property name="connecton.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/hibernate_db</property>
<property name="show_sql">true</property>
</session-factory>
</hibernate-configuration>
这是我的刀课
package com.app.hibernate;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class PaytmDAO
{
public static void main(String[] args)
{
//Create Object of DTO
PaytmDTO dto=new PaytmDTO();
//Set the DTO values using Setter method
dto.setAmount(239);
dto.setEmailId("impriyank95@gmail.com");
dto.setMobileNumber(941478859);
dto.setOTP(8965);
//Create Object of Configuration
Configuration config=new Configuration();
config.configure();
config.addAnnotatedClass(PaytmDTO.class);
//Create object of 2nd Component SessionFactory
SessionFactory sf=config.buildSessionFactory();
//Get a Session (3rd Component)
Session sess=sf.openSession();
sess.save(dto);
Transaction tx=sess.beginTransaction();
tx.commit();
}
}
我在控制台中得到了这些错误
Jan 08, 2017 11:37:33 PM org.hibernate.engine.jdbc.connections.internal.PooledConnections <init>
INFO: HHH000115: Hibernate connection pool size: 20 (min=1)
Exception in thread "main" org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:244)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:208)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:189)
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:51)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:217)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:189)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.handleTypes(MetadataBuildingProcess.java:352)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:111)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build(MetadataBuildingProcess.java:83)
at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:418)
at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:87)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:692)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:724)
at com.app.hibernate.PaytmDAO.main(PaytmDAO.java:27)
Caused by: org.hibernate.exception.JDBCConnectionException: Error calling DriverManager#getConnection
at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:115)
at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator$1$1.convert(BasicConnectionCreator.java:101)
at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.convertSqlException(BasicConnectionCreator.java:123)
at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionCreator.makeConnection(DriverManagerConnectionCreator.java:37)
at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:58)
at org.hibernate.engine.jdbc.connections.internal.PooledConnections.addConnections(PooledConnections.java:106)
at org.hibernate.engine.jdbc.connections.internal.PooledConnections.<init>(PooledConnections.java:40)
at org.hibernate.engine.jdbc.connections.internal.PooledConnections.<init>(PooledConnections.java:19)
at org.hibernate.engine.jdbc.connections.internal.PooledConnections$Builder.build(PooledConnections.java:138)
at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildPool(DriverManagerConnectionProviderImpl.java:110)
at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:74)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:217)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:189)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.buildJdbcConnectionAccess(JdbcEnvironmentInitiator.java:145)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:66)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:88)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:234)
... 14 more
Caused by: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/hibernate_db
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionCreator.makeConnection(DriverManagerConnectionCreator.java:34)
... 29 more
2017年1月08日11:37:33 PM org.hibernate.engine.jdbc.connections.internal.PooledConnections
信息:HH000115:休眠连接池大小:20(最小值=1)
线程“main”org.hibernate.service.spi.ServiceException中出现异常:无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.jdbc环境]
位于org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:244)
位于org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:208)
位于org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:189)
位于org.hibernate.engine.jdbc.internal.jdbcservicesiml.configure(jdbcservicesiml.java:51)
位于org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94)
位于org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:217)
位于org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:189)
位于org.hibernate.boot.model.process.spi.MetadataBuildingProcess.handleTypes(MetadataBuildingProcess.java:352)
位于org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:111)
位于org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build(MetadataBuildingProcess.java:83)
位于org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:418)
位于org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:87)
位于org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:692)
位于org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:724)
位于com.app.hibernate.PaytmDAO.main(PaytmDAO.java:27)
原因:org.hibernate.exception.JDBCConnectionException:调用DriverManager#getConnection时出错
位于org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:115)
位于org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator$1$1.convert(BasicConnectionCreator.java:101)
位于org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.convertSqlException(BasicConnectionCreator.java:123)
位于org.hibernate.engine.jdbc.connections.internal.DriverManager连接Creator.makeConnection(DriverManager连接Creator.java:37)
位于org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:58)
位于org.hibernate.engine.jdbc.connections.internal.PooledConnections.addConnections(PooledConnections.java:106)
位于org.hibernate.engine.jdbc.connections.internal.PooledConnections.(PooledConnections.java:40)
位于org.hibernate.engine.jdbc.connections.internal.PooledConnections.(PooledConnections.java:19)
位于org.hibernate.engine.jdbc.connections.internal.PooledConnections$Builder.build(PooledConnections.java:138)
位于org.hibernate.engine.jdbc.connections.internal.DriverManager连接ProviderImpl.buildPool(DriverManager连接ProviderImpl.java:110)
位于org.hibernate.engine.jdbc.connections.internal.DriverManager连接ProviderImpl.configure(DriverManager连接ProviderImpl.java:74)
位于org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94)
位于org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:217)
位于org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:189)
位于org.hibernate.engine.jdbc.env.internal.jdbconvironmentinitiator.buildJdbcConnectionAccess(jdbconvironmentinitiator.java:145)
位于org.hibernate.engine.jdbc.env.internal.jdbconvironmentinitiator.initiateService(jdbconvironmentinitiator.java:66)
位于org.hibernate.engine.jdbc.env.internal.jdbconvironmentinitiator.initiateService(jdbconvironmentinitiator.java:35)
位于org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:88)
位于org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:234)
... 14多
原因:java.sql.SQLException:未找到适合jdbc的驱动程序:mysql://localhost:3306/hibernate_db
位于java.sql.DriverManager.getConnection(未知源)
位于java.sql.DriverManager.getConnection(未知源)
位于org.hibernate.engine.jdbc.connections.internal.DriverManager连接Creator.makeConnection(DriverManager连接Creator.java:34)
... 还有29个
请解释一下我缺少什么?我的数据库用户名和密码是root。这是我的第一个Hibernate程序,而且我已经将所有JAR粘贴到了我的lib下,还完成了buildPath。它说得很清楚
原因:java.sql.SQLException:未找到合适的驱动程序
您可能缺少MySQL连接器库。如果您使用的是maven,请添加
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.5</version> <!-- or whatever version is suitable -->
<scope>runtime</scope>
</dependency>
mysql
**我添加了MySQL连接器。我已将添加的JAR附加到lib文件夹下。**我已添加JAR的图像。请看一看。
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.5</version> <!-- or whatever version is suitable -->
<scope>runtime</scope>
</dependency>