1、这个是sql拼接, 如果if语句中条件满足了,就会和之前的sql拼接,举个例子:select * from user where id=1,如果条件满足不加空格的话就会变成“select * from user where id=1and command=?”,很明显and和1连在一起了,是错误的2、?是指带你要输入的数据,这个是数据库PreparedStatement预处理的操作,%?%举个例子:比如模糊查询想查userName, 那这个?代表你前台传过来的userName, 数据库里有123,11...