S++

千线一眼

导航

mybatis配置入门中遇到的问题

问题一 非法注射

问题描述:WARNING: An illegal reflective access operation has occurred

    这种问题主要是jdk版本和mybatis的jar包不匹配的问题
    对于高版本可以用3.5.6版本,对于低版本可以用3.4.6版本,怎么修改相信大家都知道的。

		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.5.6</version>
		</dependency>

问题二 找不到驱动

问题描述:WARNING: Cannot find class: com.mysql.jdbc.driver

    由于害怕我的mysql和jar包也出现不匹配问题,我先查看了我的mysql版本
    mysql --version
    但是在更换过jar包之后这个问题还是没有解决。
    这时我才发现在高版本的 mysql jar包中路径已经不再是com.mysql.jdbc.driver
    需要更改为com.mysql.cj.jdbc.Driver

	<!-- 配置环境 -->
	<environments default="mysql">
		<!-- 配置mysql的环境 -->
		<environment id="mysql">
			<!-- 配置事务的类型 -->
			<transactionManager type="JDBC"></transactionManager>
			<!-- 配置数据源(连接池) -->
			<dataSource type="POOLED">
				<!-- 配置连接数据库的四个基本信息 -->
				<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
				<property name="url" value="jdbc:mysql://localhost:3306/mybatisdb"/>
				<property name="username" value="你的用户名"/>
				<property name="password" value="你的密码"/>
			</dataSource>
		</environment>
	</environments>

问题三 初始化错误异常

问题描述:java.lang.ExceptionInInitializerError

    这是约定大于配置产生的配置文件无法导出生效的问题
    我们需要在pom.xml文件的bulid中配置resources,之后重启IDE

    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>

posted on 2022-01-24 20:36  S++  阅读(95)  评论(0)    收藏  举报