uniapp开发app框架在提升开发效率中的独特优势与应用探索
2179
2022-11-19
mybatis接口绑定失效的解决
目录mybatis接口绑定失效原因:小结一下mybatis接口绑定方法http://实现方法在XML中传递参数
mybatis接口绑定失效
出现错误:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
解释:这是mybatis所报的异常,意思是接口绑定失效
原因:
1.项目编译完成后mapper接口和mybatis的xml不在同一个目录下导致接口绑定失败。
2.如果是maven工程,使用idea编辑工程,会出现xml文件无法被编译到target当中,这种情况有两种解决,首先将和mapper接口在一起的xml文件放在resources文件夹下,这种情况下需要将xml文件所在的包名改成和mapper所在包名一致,还有一种情况就是在pom文件中将xml文件所在的目录标记为资源路径。
3.配置文件的路径写的有问题,在spring整合mybatis配置中指定mybatis的xml路径出错尤其注意如果如果resources包下和java包下路径相同一定要在路径前加classpath:来区别两者的不同,不然也会出现接口绑定失效的问题。
4.mybatis的xml文件中标签的namespace和对应mapper接口的全限定类名(包名+类名,不含类的后缀名)不一致
5.mybatis的xml文件中标签的id与对应mapper接口中的方法名不一致
与对应mapper接口中的方法名不一致**
小结一下
大体总结为mapper接口和xml之间关联出错,还有就是配置文件对xml所在文件路径指定错误,最后就是在编译后mapper接口和mybatis的xml不在同一个文件夹中。
mybatis接口绑定方法
通常情况下,使用Mapper.xml是无法实现多个参数的传递,除非传入Map或者是对象,这个时候我们就可以使用接口绑定的方法传入多个参数,
实现方法
第一步:创建一个与XML包名,类名完全相同的接口,包名类名即XML中配置的namespace
第二步:创建一个与XML中ID相同的方法,然后设置参数,
public interface LogMapper {
List
}
第三步:在 mybatis.xml 中使用
在XML中传递参数
因为有多个参数,所以在XML中参数的返回值可以不用写, 但是在传参的时候。
第一种方法:可以在SQL语句中加入#{0} #{param1}就可以传递参数
第二种方法: 使用注解传递参数,
第一步 : 在函数的参数前添加注解
List
accin123,@Param("accout") String accout3454235);
第二步: #{} 里面写@Param(“内容”)参数中
select * from log where accin=#{accin} and
accout=#{accout}
这就相当于是系统底层给我们也注释中写的字符串为Key 以形参为value 形成一个key然后传递给XML 这就实现了多个参数的传递
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~