mybatis控制台错误信息整理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


一、关于mybatis

1.com.mysql.cj.exceptions.WrongArgumentException: SQL String cannot be empty

代码如下(示例):

你的mapper.xml文件里有个语句只写了比如<select什么什么的标签>里面没有sql语句,吧sql语句补上。
例:<select id="我是id" resultMap="我是结果集">这里没写语句汇报这个错</select>

2.Parameter index out of range (1 > number of parameters, which is 0).

你的mapper.xml文件里有个语句的入参类型不对具体方式参考下图:
#{}与${}两者都可以在mybatis中用在输入映射
#{}和${}的区别:
#{}是预编译处理,
${}是字符串替换。

mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;
mybatis在处理 $ { } 时,就是把 ${ } 替换成变量的值,完成的是简单的字符串拼接。

补充:在mybatis中使用#{}可以防止sql注入,提高系统安全性。

sql注入是什么:
例如:用户输入的账号密码在代码中是以字符串拼接的方式生成查询语句的,这样用户输入的内容很容易改变我们的原查询代码,这就相当一一个数据库注入问题。
我们验证密码和账号的时候,如果用户在输入密码的时候 输入 or 1=1;那不管他输入的密码是什么都可以通过。

在这里插入图片描述

3.Invalid bound statement (not found):

应该是你的配置文件*.xml文件的路径错了

4.(很长一串最后是)Cause: java.lang.ClassNotFoundException: Cannot find class: bean.TabScddinfo

这个问题最狗卡我将近一天,
你那个mapper.xml里注入的bean/model类型没有根据路径映射进去
,检查一下入参出参是不是写的都对。

5.The alias ‘TodayDdInfo’ is already mapped to the value ‘com.example.demo.bean.production.vo.TodayDdInfo’.

你的bean或什么文件名字出项相同的了,把springboot整蒙了,改个名字就好了

5.数据显示[]

发现传入值注入什么的都没问题,那你看看${value}这个东西是不是写错了或者拉下什么了。

6.bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException

这个傻逼问题可狗了,
具体原因是你的数据库不能解析你的sql,
肯定是你的对应的sql语句在navcat里执行不了,
好好看看sql语句哪里错了
(一定要开日志看看到底是哪个sql语句,
把这个sql语句拿出去执行看看),
如果可以执行的话就看看你的结尾去掉  ;  
然后看看映射关系处没出错。

7.org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne()

你的结果集是个list,但是你用结果的对象接的,所以不可以,你把结果集用list<结果集>接取就解决了

8.Annotation-specified bean name ‘xx‘ for bean class [xxx] conflicts with existing

你的文件中多个文件名相同,自己全局搜索报错的文件

9.sql语句未正常结束

在外面粘贴是对的粘到mybatis里就报这个错误,看看后面有没有‘;’这个符号

2.模板格式

代码如下(示例):

这里便于写作的时候复制格式

该处使用的url网络请求的数据。


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值