创建会话时出错:org.hibernate.HibernateException:未找到指定的JDBC驱动程序com.mysql.jdbc.Driver类

时间:2013-07-10 19:17:45

标签: java

使用Jboss 7.1.1。我从localhost:9990 / console连接到DB。 连接测试是正确的。但是当我尝试将某些内容放入数据库时​​会发生异常:

Error creating Session: org.hibernate.HibernateException: Specified JDBC Driver com.mysql.jdbc.Driver class not found

我的hibernate.cfg.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
 "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.password">root</property>
    <property   name="hibernate.connection.url">
     jdbc:mysql://localhost:3306/test</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="show_sql">true</property>
    <property name="hbm2ddl.auto">create</property>

     <mapping resource="MyApp/WebApp/model/Member.hbm.xml"/>
</session-factory>

 我的会议工厂:

static
{
    try
    {
        Configuration configuration = new Configuration().configure();
        serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
        sessionFactory = configuration.buildSessionFactory(serviceRegistry);
    }
    catch (HibernateException he)
    {
        System.err.println("Error creating Session: " + he);
        throw new ExceptionInInitializerError(he);
    }
JBOSSHOME / modules / com / mysql / main中的

是module.xml和连接器。 我不需要在WEB-INFlib文件夹中有连接器..或者我吗?

任何想法??

好的..我找到了解决方案。我把连接器jar放在JBOSSHOME / modules / org / hibernate / main中并更改了module.xml ...我不知道为什么会有效..但它有效!!

2 个答案:

答案 0 :(得分:0)

您从Hibernate获取的错误消息

Error creating Session: org.hibernate.HibernateException: Specified JDBC Driver com.mysql.jdbc.Driver class not found

发生

是因为类路径中缺少类com.mysql.jdbc.Driver,即。包含它的jar应该在WEB-INF/lib中。将mysql连接器jar添加到该文件夹​​。

答案 1 :(得分:0)

在我的domain.xml(或standalone.xml)中,我有这个:

<datasource jta="true" jndi-name="java:jboss/Datasource" pool-name="MySqlDS" enabled="true" use-java-context="true" use-ccm="true">
    <connection-url>jdbc:mysql://localhost:3306/DBName</connection-url>
    <driver>com.mysql</driver>
    <security>
        <user-name>name</user-name>
        <password>pass</password>
    </security>
</datasource>
<drivers>
    <driver name="com.mysql"module="com.mysql">
    <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
    </driver>
</drivers>
标签内的

<subsystem xmlns="urn:jboss:domain:datasources:1.1">