这句报错的意思就是 需要的参数和传入的参数个数不一致。 检查注释里面是否有#{xxx} ,即使注释了 mybatis 仍然会把#{xxx}当作一个参数,这就是为什么会报参数不一致,把#{xxx}删除即可 另外,mybatis应该尽量避免在sql中用 - - 注释,因为控制台打印出来的sql语句, - - 之后的都会被注释,避免节外生枝 如果不是mybatis,用其它框架,本质都是一致的,参数个数不对,可能 ? 为中文的问号等