maven配置Mybatis的踩过的坑中坑

1.mysql数据库版本过低

报错:Cause: java.sql.SQLException: java.lang.ClassCastException: class java.math.BigInteger cannot be cast to class java.lang.Long (java.math.BigInteger and java.lang.Long are in module java.base of loader 'bootstrap')

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.44</version>
        </dependency>

直接更改数据库依赖,只要mysql在5.1.44以上就行

2.字符集报错

报错:Error querying database. Cause: java.sql.SQLException: Unsupported character encoding 'utf8;'.

<dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?                useSSL=false&amp;useUnicode=true&amp;characterEncoding=utf8&amp;"/>
                <property name="username" value="***"/>
                <property name="password" value="***"/>
</dataSource>

第一,将UTF-8改成utf8

第二,一定别忘记&这个转义字符,要不然它会将";"也会识别进去,最后你的字符集就成"utf8";这个太阴了 精准踩坑

3.无法识别sql语句,配置Mapper.xml连接数据库时没有提示之类的

 

 

在设置中找到SQL方言,将全局方言改成mysql就行

3.sqlsession空指针异常

1.这里必须是静态代码块,别忘记static了

static {
        try {
            String resource = "mybatis-config.xml";
​
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

2.useSSL=false 这里设置成fasle,当然有证书不用理会

3.mapper.xml文件出问题,这里我将自己的贴出来,大伙自己对照着看一下,尤其是mappers这个标签里的内容

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
​
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=false&amp;useUnicode=true&amp;characterEncoding=utf8&amp;"/>
                <property name="username" value="root"/>
                <property name="password" value="121525"/>
            </dataSource>
        </environment>
    </environments>
<mappers>
    <mapper resource="com/wgl/dao/UserMapper.xml"/>
</mappers>
</configuration>

 这是我的文件结构

 

4.maven的配置遗漏,pom.xml文件,也就是资源过滤的问题,将资源依赖配置如下,在原有基础上加上这些就行

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值