慕莱坞6592045
2018-09-05 12:27
if (command!=null&&!"".equals(command.trim())) {
sql.append(" and command=?");
paramList.add(command);
}
if (description!=null&&!"".equals(description.trim())) {
sql.append(" and description=like '%' ? '%'");
paramList.add(description);
}
这里面and前面为什么要空格,问号和百分号是干什么的,能详细点么
1、这个是sql拼接, 如果if语句中条件满足了,就会和之前的sql拼接,举个例子:select * from user where id=1,如果条件满足不加空格的话就会变成“select * from user where id=1and command=?”,很明显and和1连在一起了,是错误的
2、?是指带你要输入的数据,这个是数据库PreparedStatement预处理的操作,%?%举个例子:比如模糊查询想查userName, 那这个?代表你前台传过来的userName, 数据库里有123,1124,3323,你输入2,这三个值都能查出来,代表前面有任意字符,后面任意字符。
通过自动回复机器人学Mybatis---基础版
107412 学习 · 786 问题
相似问题