林小冉丶 2020-05-04 12:21 采纳率: 50%
浏览 387

DBCP连接池转Driud连接池后,启动项目后,登录报Error querying database

1.SSM项目

2.原来使用的是DBCP连接池

配置如下:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
            <property name="url" value="#{dbConfig.url}" />
            <property name="username" value="#{dbConfig.username}" />
            <property name="password" value="#{dbConfig.password}" />
            <property name="driverClassName" value="#{dbConfig.driverClassName}" />
        </bean>

3.使用Druid连接池时做了如下更改:

①导入druid1.1.6jar包

②将配置文件中DBCP的配置改为:

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="url" value="#{dbConfig.url}" />
        <property name="username" value="#{dbConfig.username}" />
        <property name="password" value="#{dbConfig.password}" />
        <property name="driverClassName" value="#{dbConfig.driverClassName}" />
        <!-- 指定连接数据库连接池的最小连接数 -->
        <property name="minIdle" value="10"></property>
        <!-- 指定连接数据库连接池的最大连接数 -->
        <property name="maxActive" value="120"></property>
        <!--初始化接数据库连接池 -->
        <property name="initialSize" value="2"></property>
        <!-- 指定连接数据库连接池的连接的最大空闲时间 -->
        <property name="maxWait" value="12000"></property>
        <!--配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒。 -->
        <property name="timeBetweenEvictionRunsMillis" value="60000"></property>
        <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
        <property name="minEvictableIdleTimeMillis" value="300000" />
        <!-- 用来检测连接是否有效的sql,要求是一个查询语句 -->
        <property name="validationQuery" value="SELECT 1 FROM DUAL"></property>
        <!--空闲时是否进行验证,检查对象是否有效 --> 
        <property name="testWhileIdle" value="true" />
        <!--取得对象时是否进行验证,检查对象是否有效 --> 
        <property name="testOnBorrow" value="false" />
         <!--返回对象时是否进行验证 -->  
        <property name="testOnReturn" value="false" />
        <!-- 配置监控统计拦截的filters,去掉后监控界面sql无法统计 -->
        <property name="filters" value="stat" />
        <!-- 长时间不适用的连接强制关闭 -->
        <property name="removeAbandoned" value="true" />
        <!-- 超过30分钟开始关闭空闲连接 -->
        <property name="removeAbandonedTimeout" value="1800" />
    </bean>

4.项目启动后,登录系统(第一次执行sql)时,报错

报错内容:

Caused by: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: java.lang.NullPointerException
### The error occurred while executing a query
### Cause: java.lang.NullPointerException
    at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:77)
    at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)
    at com.sun.proxy.$Proxy23.selectOne(Unknown Source)
    at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:166)
    at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:63)
    at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:43)
    at com.sun.proxy.$Proxy24.selectByUsername(Unknown Source)
    at cn.sxau.vc.service.ShiroUserSer.findUsername(ShiroUserSer.java:173)
    at cn.sxau.vc.realm.UserRealm.doGetAuthenticationInfo(UserRealm.java:82)
    at org.apache.shiro.realm.AuthenticatingRealm.getAuthenticationInfo(AuthenticatingRealm.java:568)
    at org.apache.shiro.authc.pam.ModularRealmAuthenticator.doSingleRealmAuthentication(ModularRealmAuthenticator.java:180)
    at org.apache.shiro.authc.pam.ModularRealmAuthenticator.doAuthenticate(ModularRealmAuthenticator.java:267)
    at org.apache.shiro.authc.AbstractAuthenticator.authenticate(AbstractAuthenticator.java:198)
    ... 87 more

看这个想是连接不上数据库,查到的东西是空?各位大神求解啊,难道换Druid连接池的步骤不是这些吗?为什么会链接不上数据库呢?

  • 写回答

1条回答 默认 最新

  • dabocaiqq 2020-05-04 14:55
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误