java学习碎碎念3:Mybatis动态Mapper开发中的坑

日常学习碎碎念3

坑一:

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): cn.edu.sdut.mapper.UserMapper.queryUserById

解决方法:在pom.xml文件中增加以下配置(这是开发工具的坑)
pom文件中一定要xml的配置方式:
1.idea开发工具/src/main/java目录中只会打包*.class文件。不会帮我们打包*.xml,.properties
2.**/
.xml: /前边的两个**代表的是你这个文件的目录包含子目录(包和子包),*.xml所有的xml文件。

<!--注意include部分-->
<build>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
        </resource>
    </resources>
</build>

坑2:
mybatis推荐我们把映射表的xml文件和mapper接口放在一个包中
xml的名称必须和接口名一致,否则产生一系列问题
eg:UserMapper 和UserMaper.xml

在这里插入图片描述
坑3:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!--namespace属性名字不能随便乱写,必须写mapper接口的完全限定名-->
<mapper namespace="cn.edu.sdut.mapper.UserMapper">

    <!--前方有坑
        id属性值必须写UserMapper接口中的方法名
        返回resultType类型的数据mybatis已经有实体包了,直接写类名就行了
        不用写完全限定名
     -->
    <select id="queryUserById" parameterType="int" resultType="Tabuser">
        select * from tabuser where userid=#{userid}
    </select>
</mapper>

坑4:(粗心坑)
原因:返回的实体类里面没写东西,即Tabuser中的构造方法,geter seter方法啥的没有写,呜呜呜
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值