• springboot整合mybatis时踩过的坑(idea)


    1.启动时报如下错误:

    org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

    1)首先保证xml文件放到resources目录下(若非要放到java文件夹下,需要另行设置,即在pom文件中添加如下配置)

    <resource>
        <directory>src/main/java</directory>
        <includes>
            <include>**/*.xml</include>
        </includes>
    </resource>

    2)检查xml文件的namespace是否和xml文件的package名称一一对应

    3)检查函数名称能否对应上

    4)application.yml(或者application.properties)中是否进行了如下配置

      mapper-locations: classpath*:com/kavins/**/*.xml

    5)如果确保没有以上问题,且你用的是idea,那么恭喜你,踩到了我踩的大坑

    在idea中,创建包名时,不能直接创建类似"com.kavins"为包名的包,只能先创建"com"包,再在com包下面创建"kavins"包,两者编译后的效果如下:

     因为第4步配置的为com/kavins,如果你创建的包名为"com.kavins",肯定扫描不到,所以需要先创建"com"包,再在com包下面创建"kavins"包

    2.启动时报如下错误:

     org.apache.ibatis.type.TypeException: Could not resolve type alias

    解决方式有两种

    1)将报错的实体类在对应的xml中的resultType或者parameterType改为全限定名如:com.kavins.User而不能直接在xml中用User

    2)在mybatis-config.xml中进行如下配置

    <typeAliases>
            <typeAlias type="com.kavins.User" alias="User"/>
    </typeAliases>

    配置之后,可以直接在xml中的resultType或者parameterType用User

  • 相关阅读:
    python3--生成器
    python3--列表生成式
    python3--装饰器高级学习版
    python3--嵌套函数
    python3-装饰器
    《Hexo+github搭建个人博客》
    Html网页的代码
    关于内联框架
    性能调优
    Java知识总结
  • 原文地址:https://www.cnblogs.com/kavins/p/12668682.html
Copyright © 2020-2023  润新知