zoukankan      html  css  js  c++  java
  • java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver

    背景

    sqlserver+ssm

    问题

    java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver

    配置文件

    jdbc.properties

    #mysql
    #jdbc.driverLocation=E:\Java\jars\JDBC\mysql-connector-java-5.1.45-bin.jar
    #jdbc.driverClass=com.mysql.jdbc.Driver
    #jdbc.url=jdbc:mysql://localhost:3306/test
    #jdbc.username=root
    #jdbc.password=root
    
    #sqlserver
    #jdbc.driverLocation=E:\Java\jars\JDBC\sqljdbc4.jar
    jdbc.driverClass=com.microsoft.sqlserver.jdbc.SQLServerDriver
    jdbc.url=jdbc:sqlserver://172.16.5.133:1433;DatabaseName=ppms
    jdbc.username=sa
    jdbc.password=1qaz2wsx#EDC(丧心病狂啊..)
    #jdbc.driverLocation=E:\Java\jars\JDBC\sqljdbc4.jar是逆向工程用的本地的sqljdbc4.jar包

    spring-mybaits.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
        <!-- 扫描service包下所有使用注解的类型 -->
        <context:component-scan base-package="com.pers.service"/>
        <!-- 配置数据库相关参数properties的属性:${url} -->
        <context:property-placeholder location="classpath*:jdbc.properties"/>
        <!-- 数据库连接池 -->
        <!--mysql&sqlserver-->
        <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
            <property name="driverClass" value="${jdbc.driverClass}"/>
            <property name="jdbcUrl" value="${jdbc.url}"/>
            <property name="user" value="${jdbc.username}"/>
            <property name="password" value="${jdbc.password}"/>
        </bean>
        <!--sqlserver-->
        <!--<bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
            <property name="driverClassName" value="${jdbc.driverClass}" />
            <property name="url" value="${jdbc.url}" />
            <property name="username" value="${jdbc.username}" />
            <property name="password" value="${jdbc.password}" />
        </bean>-->
    
        <!-- 配置SqlSessionFactory对象 -->
        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            <!-- 注入数据库连接池 -->
            <property name="dataSource" ref="dataSource"/>
            <!-- 扫描model包 使用别名 -->
            <property name="mapperLocations" value="classpath:com/pers/dao/*.xml" />
        </bean>
        <!-- 配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中 -->
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <!-- 给出需要扫描Dao接口包 -->
            <property name="basePackage" value="com.pers.dao"/>
            <!-- 注入sqlSessionFactory -->
            <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
        </bean>
        <!-- 配置事务管理器 -->
        <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <!-- 注入数据库连接池 -->
            <property name="dataSource" ref="dataSource"/>
        </bean>
        <!-- 配置基于注解的声明式事务 -->
        <tx:annotation-driven transaction-manager="transactionManager"/>
    </beans>

    注意

    1.数据源配置采用的是c3p0连接池,druid和dbcp没试过.

    启动项目后控制台报如下两个问题:

    1.java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver

    2.java.sql.SQLException: No suitable driver 

    原来是我的pom文件没有引入sqljdbc4

    <!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/sqljdbc4 -->
        <dependency>
          <groupId>com.microsoft.sqlserver</groupId>
          <artifactId>sqljdbc4</artifactId>
          <version>4.0</version>
          <!--<scope>test</scope>-->
        </dependency>

    但是引入后还报同样的错, 查看web-inf/lib下并没有该jar包,说明还是没有引入

    解决方法

    将下面的一样注释掉就哦了, IDEA的问题.

    <!--<scope>test</scope>-->
    附图:

    
    
    
  • 相关阅读:
    杂题之求1-100连续不重复整数中的缺少的一个数
    C语言之位运算
    程序员的激情其实是一种痛苦
    主机windwo7+虚拟机centos如何配置虚拟机可以上网,且与主机互ping通
    MyEclipse Servers视窗出现“Could not create the view: An unexpected exception was thrown”错误解决办法
    一个web项目在myeclipse中add deployment时无法被识别出来的原因
    Hibernate中,将session绑定到线程时,在保存和查询数据的代码里,要正确的关闭session
    springframwork历史版本下载地址
    在web项目中使用cxf开发webservice,包含spring支持
    [转] Spring Security(01)——初体验
  • 原文地址:https://www.cnblogs.com/yadongliang/p/8119895.html
Copyright © 2011-2022 走看看