在idea中搭建MyBatis可能遇到的问题

Posted zheng-yi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在idea中搭建MyBatis可能遇到的问题相关的知识,希望对你有一定的参考价值。

配置文件没有注册

技术图片

遇到这样的报错,可能是Mapper.xml没有注册。 解决方案: 在核心配置文件(一般叫mybatis-config.xml)的最后面加入 <mappers> <mapper resource="xxx/xxx/xxx"/> </mappers> ,在resource里将路径改为Mapper.xml(写sql语句的配置文件)的路径,如 <mapper resource="com/zheng/mapper/UserMapper.xml"/> 

  1. Maven导出资源问题

技术图片

 

 

在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>

 

  1. 找不到依赖问题 我在搭建MyBatis时遇到手动导入mysql8的Jar包却找不到驱动,改了好多地方也不能解决。 解决方案:最后只能删除了手动导入的jar包改用maven导入。

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

 

  1. url输入错误 &需要转义才能被正确识别。 解决方案:&后需要加amp;

jdbc:mysql://localhost:3306/xxxx?useUnicode=true&amp;serverTimezone=GMT&amp;useSSL=false

 

  1. 重复声明 技术图片明明写了方法,在调用时却报错空指针。可能是因为对象被重复声明了。 在获取SqlSessionFactory的对象时,可以写成静态代码块



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

 



解决方案:如果写成上面的代码,只需去掉try{}内部的 SqlSessionFactory类型声明

 


 
 try{
           String resource = "mybatis-config.xml";
           InputStream inputStream = Resources.getResourceAsStream(resource);
           sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);}

 



各位小可爱萌还应该多检查需要加路径的地方,注意路径是否添加正确,可以减少错误的发生。

 








以上是关于在idea中搭建MyBatis可能遇到的问题的主要内容,如果未能解决你的问题,请参考以下文章

IDEA搭建SSM出现的一些错误

idea搭建Spring Boot+MyBatis

在 idea 下搭建的第一个MyBatis项目及增删改查用法

一步一步教你用IntelliJ IDEA 搭建SSM框架——配置mybatis-geneator

IDEA 搭建SpringBoot项目:SpringBoot + MyBatis + Druid +MyBatis-Generator

Idea中maven环境下搭建MyBatis项目