Java Hibernate错误“未找到指定的JDBC驱动程序com.microsoft.sqlserver.jdbc.SQLServerDriver类” [英] Java Hibernate Error "Specified JDBC Driver com.microsoft.sqlserver.jdbc.SQLServerDriver class not found"

查看:214
本文介绍了Java Hibernate错误“未找到指定的JDBC驱动程序com.microsoft.sqlserver.jdbc.SQLServerDriver类”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

运行我的应用程序时出错,错误是:
$ b


指定的JDBC驱动程序com.microsoft.sqlserver.jdbc.SQLServerDriver类找不到


我的信息:
pom.xml

 <依赖项> 
< groupId> org.apache.struts< / groupId>
< artifactId> struts2-convention-plugin< / artifactId>
< version> 2.3.20< / version>
< /依赖关系>
< dependency>
< groupId> org.apache.struts< / groupId>
< artifactId> struts2-rest-plugin< / artifactId>
< version> 2.3.20< / version>
< /依赖关系>

< dependency>
< groupId> org.hibernate< / groupId>
< artifactId> hibernate-core< / artifactId>
< version> 4.0.1.Final< / version>
< /依赖关系>
< dependency>
< groupId> org.hibernate< / groupId>
< artifactId> hibernate-validator< / artifactId>
< version> 4.2.0.Final< / version>
< /依赖关系>
< dependency>
< groupId> org.hibernate.common< / groupId>
< artifactId> hibernate-commons-annotations< / artifactId>
< version> 4.0.1.Final< / version>
< classifier>测试< / classifier>
< /依赖关系>
< dependency>
< groupId> org.hibernate.javax.persistence< / groupId>
< artifactId> hibernate-jpa-2.0-api< / artifactId>
< version> 1.0.1.Final< / version>
< /依赖关系>
< dependency>
< groupId> org.hibernate< / groupId>
< artifactId> hibernate-entitymanager< / artifactId>
< version> 4.0.1.Final< / version>
< /依赖关系>
< dependency>
< groupId> javax.validation< / groupId>
< artifactId> validation-api< / artifactId>
< version> 1.0.0.GA< / version>
< scope>提供< / scope>
< /依赖关系>
< dependency>
< groupId> org.slf4j< / groupId>
< artifactId> slf4j-api< / artifactId>
< version> 1.6.4< / version>
< /依赖关系>
< dependency>
< groupId> org.jboss.logging< / groupId>
< artifactId> jboss-logging< / artifactId>
< version> 3.1.0.CR2< / version>
< /依赖关系>
< dependency>
< groupId> org.slf4j< / groupId>
< artifactId> slf4j-log4j12< / artifactId>
< version> 1.6.4< / version>
< /依赖关系>

< dependency>
< groupId> com.microsoft.sqlserver.jdbc< / groupId>
< artifactId> sqljdbc4< / artifactId>
< version> 1.0< / version>
< scope>系统< / scope>
< systemPath> $ {basedir} /src/main/lib/sqljdbc4.jar</systemPath>
< /依赖关系>

hibernate.cfg.xml

 <冬眠-结构> 
< session-factory>

<! - 数据库连接设置 - >
< property name =connection.driver_class> com.microsoft.sqlserver.jdbc.SQLServerDriver< / property>
< property name =connection.url> jdbc:sqlserver://。; database = db< / property>
< property name =connection.username> sa< / property>
< property name =connection.password> 12345< / property>
< property name =connection.pool_size> 1< / property>
< property name =dialect> org.hibernate.dialect.SQLServer2005Dialect< / property>
< property name =show_sql> false< / property>
< property name =hbm2ddl.auto>更新< / property>

<! - 映射文件 - >
< mapping resource =employee.hbm.xml/>

< / session-factory>



调用Hibernate的代码:

  public static List< Employee> SelectAll(){
Configuration cfg = new Configuration();
cfg.configure(hibernate.cfg.xml);
SessionFactory factory = cfg.buildSessionFactory();
会话会话= factory.openSession();

// String sql_query =from Employee where Name ='Kevin';
String sql_query =from Employee;
Query query = session.createQuery(sql_query);
列表<员工> employees = query.list();

session.close();
factory.close();
退回员工;
}

任何人都知道为什么?
错误发生在
SessionFactory factory = cfg.buildSessionFactory();

目录中:

解决方案

@Lumanyun你正在使用一个jar Maven:

 < dependency> 
< groupId> com.microsoft.sqlserver.jdbc< / groupId>
< artifactId> sqljdbc4< / artifactId>
< version> 1.0< / version>
< scope>系统< / scope>
< systemPath> $ {basedir} /lib/sqljdbc4.jar</systemPath>
< /依赖关系>

前往这里一个可以帮助你的版本


i got error when run my application, the error is:

Specified JDBC Driver com.microsoft.sqlserver.jdbc.SQLServerDriver class not found

my souce: pom.xml

    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-convention-plugin</artifactId>
        <version>2.3.20</version>
    </dependency>
    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-rest-plugin</artifactId>
        <version>2.3.20</version>
    </dependency> 

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>4.0.1.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>4.2.0.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate.common</groupId>
        <artifactId>hibernate-commons-annotations</artifactId>
        <version>4.0.1.Final</version>
        <classifier>tests</classifier>
    </dependency>
    <dependency>
        <groupId>org.hibernate.javax.persistence</groupId>
        <artifactId>hibernate-jpa-2.0-api</artifactId>
        <version>1.0.1.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>4.0.1.Final</version>
    </dependency>
    <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>1.0.0.GA</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.6.4</version>
    </dependency>
    <dependency>
        <groupId>org.jboss.logging</groupId>
        <artifactId>jboss-logging</artifactId>
        <version>3.1.0.CR2</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.6.4</version>
    </dependency>

    <dependency>
        <groupId>com.microsoft.sqlserver.jdbc</groupId>
        <artifactId>sqljdbc4</artifactId>
        <version>1.0</version>
        <scope>system</scope>
        <systemPath>${basedir}/src/main/lib/sqljdbc4.jar</systemPath>
    </dependency>

hibernate.cfg.xml

<hibernate-configuration>     
<session-factory> 

 <!-- Database connection settings -->  
    <property name="connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>  
    <property name="connection.url">jdbc:sqlserver://.;database=db</property>  
    <property name="connection.username">sa</property>  
    <property name="connection.password">12345</property>   
    <property name="connection.pool_size">1</property>   
    <property name="dialect">org.hibernate.dialect.SQLServer2005Dialect</property>   
    <property name="show_sql">false</property>   
    <property name="hbm2ddl.auto">update</property>  

    <!-- Mapping files --> 
    <mapping resource="employee.hbm.xml"/> 

</session-factory> 

code that call Hibernate:

public static List<Employee> SelectAll(){ 
    Configuration cfg = new Configuration();  
    cfg.configure("hibernate.cfg.xml");
    SessionFactory factory = cfg.buildSessionFactory();  
    Session session = factory.openSession(); 

    //String sql_query= "from Employee where Name = 'Kevin'";
    String sql_query= "from Employee";
    Query query = session.createQuery(sql_query);
    List<Employee> employees = query.list();

    session.close();  
    factory.close(); 
    return employees;
}

Anyone know why? the error happened in SessionFactory factory = cfg.buildSessionFactory();

Directory in:

When i check the library, it Has SQLServerDriver

解决方案

@Lumanyun you're using a jar that don't exist in repository Maven :

<dependency>
        <groupId>com.microsoft.sqlserver.jdbc</groupId>
        <artifactId>sqljdbc4</artifactId>
        <version>1.0</version>
        <scope>system</scope>
        <systemPath>${basedir}/lib/sqljdbc4.jar</systemPath>
    </dependency>

Go check here a version that can helps you

这篇关于Java Hibernate错误“未找到指定的JDBC驱动程序com.microsoft.sqlserver.jdbc.SQLServerDriver类”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆