java.lang.illegalaccesserror:org.apache.commons.dbcp.delegatingpreparedstatement.isclosed()z

pxy2qtax  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(633)

我试着把Spring和mybatis结合起来。
jdk:1.8
运行我的测试:

@Test
    public void testFindUserById() throws Exception{
        UserMapper userMapper=(UserMapper)applicationContext.getBean("userMapper");
        User user=userMapper.findUserById(1);
        System.out.println(user);
    }

以及error:the full 堆栈跟踪

java.lang.IllegalAccessError: org.apache.commons.dbcp.DelegatingPreparedStatement.isClosed()Z

spring配置文件:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
        destroy-method="close">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost:3306/custom?useSSL=false" />
        <property name="username" value="root" />
        <property name="password" value="qqwe5631652" />
        <property name="maxIdle" value="5" />
    </bean>

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="configLocation" value="classpath:SqlMapConfig.xml" />

    </bean>
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="mapper" />
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
        </bean>

    <bean id="userDao" class="dao.UserDaoImpl">
        <property name="sqlSessionFactory" ref="sqlSessionFactory" />

    </bean>
</beans>

文件的结构全部为“.jar”
是的 java.lang.IllegalAccessError 关于权威?我不知道

j9per5c4

j9per5c41#

是的,你的解决方案是对的。如果您查看delegatingpreparedstatement.isclosed()javadoc,您可以看到此方法受到保护,因此您方调用此方法的任何尝试都将以illegalaccessexception结束,因为您没有执行此操作的权限。这个图书馆的新版本把这个方法公之于众

31moq8wy

31moq8wy2#

我改变了 commons-dbcp-1.2.1.jar 进入 commons-dbcp-1.4.jar ,现在没事了!

相关问题