zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    matplotlib讲义
    车间调度问题(part3: 遗传算法)
    sympy库和matplotlib库简介
    python列表
    第十周周三练习
    第十一周周一练习题
    MyEcplise中关于部署文件不成功的问题
    Java中的get()和set()方法
    Java中this关键字的使用
    信号完整性问题的几个基本原则
  • 原文地址:https://www.cnblogs.com/kavins/p/12668682.html
Copyright © 2011-2022 走看看