2017-01-08 69 views
0

Image contains the JARS files which I already have.这是我的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.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> 

这是我的DTO类

package com.app.hibernate; 

import java.io.Serializable; 

import javax.persistence.Column; 
import javax.persistence.Entity; 
import javax.persistence.Id; 
import javax.persistence.Table; 

@Entity 
@Table(name = "paytm_table") 

public class PaytmDTO implements Serializable 
{ 
    @Id 
    @Column(name="mob_num") 
    private int mobileNumber; 

    @Column(name="amount") 
    private int amount; 

    @Column(name="email_id") 
    private String emailId; 

    @Column(name="OTP") 
    private int OTP; 

    public PaytmDTO() { 

    } 

    public int getMobileNumber() { 
     return mobileNumber; 
    } 

    public void setMobileNumber(int mobileNumber) { 
     this.mobileNumber = mobileNumber; 
    } 

    public int getAmount() { 
     return amount; 
    } 

    public void setAmount(int amount) { 
     this.amount = amount; 
    } 

    public String getEmailId() { 
     return emailId; 
    } 

    public void setEmailId(String emailId) { 
     this.emailId = emailId; 
    } 

    public int getOTP() { 
     return OTP; 
    } 

    public void setOTP(int oTP) { 
     OTP = oTP; 
    } 

} 

这是我的DAO类

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("[email protected]"); 
     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 

请解释我在哪里缺乏?我的数据库用户名和密码是root。这是我的第一个Hibernate程序,同时我也粘贴了lib下的所有jar文件,并且还使用了buildPath。

回答

0

它说,很明显

产生的原因:值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> 

添加到您的pom.xml。如果没有,你仍然可以从here

+0

下载.jar **我已经添加了MySQL连接器。我附加了lib目录下添加的JARS ** –

+0

我添加了一个我的罐子图像。请看一看。 –