mybatis使用时出现的错误合集

得意时要看淡,失意时要看开。不论得意失意,切莫大意;不论成功失败,切莫止步。志得意满时,需要的是淡然,给自己留一条退路;失意落魄时,需要的是泰然,给自己觅一条出路mybatis使用时出现的错误合集,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

Cause: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 6; 不允许有匹配 “[xX][mM][lL]” 的处理指令目标。

出现该错误的主要原因是xml文件的配置问题,在第一行不允许有空格或空行。
在这里插入图片描述
将空行删去就可以了。

Cause: java.lang.ClassNotFoundException: Cannot find class: com.mysql.cj.jdbc.Driver(com.mysql.jdbc.Driver)

出现该问题的原因是mysql驱动的jar包版本太低,如你使用8.0的mysql,但使用5.1.34版本的mysql-connector-java-xxx.jar就会出现该错误,下载匹配mysql版本的jar包即可。

如我用的maven配置的5.1.34版本的mysql驱动:

<dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.34</version>
    </dependency>

会报错:
在这里插入图片描述

将配置文件中的mysql文件改为8.0.11版本后就不会可以了:
在这里插入图片描述
成功:
在这里插入图片描述

Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.binding.BindingException: Type interface mapper.UserMapper is already known to the MapperRegistry.

原因:在mybatis的配置文件中映射配置文件重复配置,如下图,使用mapper标签配置了映射配置文件,又用包扫描加载了配置文件所在的包,重复了。
解决方案:删除任意一个即可。

在这里插入图片描述
如图注释掉一个成功运行:
在这里插入图片描述
在这里插入图片描述

Error querying database. Cause: org.apache.ibatis.binding.BindingException: Parameter ‘username’ not found. Available parameters are [arg1, arg0, param1, param2]

当出现此类错误的原因是:mapper代理的映射接口的实现方法参数传递出现问题。

 List<User> selectTotal(String username,String password);

当传递多个参数时,需要用@param实现。使用如下方法就可以了。

 List<User> selectTotal(@Param("username") String username,@Param("password") String password);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/156326.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!