Springboot mybatis集成 Invalid bound statement (not found)....

使用新技术的时候总会遇到一些很基础的问题,现在又来一个:

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.test.shiro.mapper.PermissionMapper.save
    at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:225) ~[mybatis-3.4.5.jar:3.4.5]
    at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:48) ~[mybatis-3.4.5.jar:3.4.5]..........

这里说是找不到save的实现方法。

首先按照一般解决思路先比对namespace

<mapper namespace="com.test.shiro.mapper.PermissionMapper">
  <resultMap id="per" type="com.test.shiro.entity.Permission">
    <id column="permissionId" jdbcType="INTEGER" property="permissionId" />
    <result column="permission" jdbcType="VARCHAR" property="permission" />
  </resultMap>
    <insert id="save" parameterType="com.test.shiro.entity.Permission" useGeneratedKeys="true" keyProperty="permissionId">
      INSERT INTO permission(permissionId,permission) VALUES (#{permissionId},#{permission})
    </insert>
</mapper>
package com.test.shiro.mapper;

import com.test.shiro.entity.Permission;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Service;


/**
 * @author Created by pangkunkun on 2017/11/20.
 */
@Mapper
@Service
public interface PermissionMapper {
    /**
     * 新增权限
     * @param permission
     * */
    void save(Permission permission);
}

namespace OK,再比对id(即方法名save),这里也是一样的。
还有mapper.xml的路径和名称,对比后发现一切都OK。

后来实在没办法了,跟以前的项目逐一比对,发现application.properties中忘记了mybatise的两行配置:

mybatis.typeAliasesPackage=com.test.shiro.entity
mybatis.mapperLocations=classpath:mapper/*.xml

主要是mybatis.mapperLocations=classpath:mapper/*.xml,加上之后OK了,说白了还是不够熟练,注意的地方过多。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值