1、在后台响应值给AJAX请求时,用map集合是不二之选哦,将数据封装成map集合后再用new Gson( ).toJson(mapJsonStr)方法转为JSON字符串最后响应给AJAX即可
2、当有实体类之外的数据,比如验证码也随AJAX请求发送过来时,先获取验证码之后,仍然可以获取到除了验证码之外所有剩下的数据的map集合!因为验证码已经被获取了,所有request.getParameterMap( ); 方法就不会获取到验证码了!也就是说我们就可以先获取验证码参数,然后就可以完美避开验证码参数获取到所有实体类的参数的map集合,接着就可以调用BeanUtils工具类将map集合封装成实体类对象!
3、写模糊查询SQL语句时两个 ‘%’ ‘%’ 中间的问号要加空格!我也不知道为什么,估计就是如果不加空格的话,连问号也会被看作是单引号里的一部分叭
//正确格式
"select * from article where title like '%' ? '%' and author like '%' ? '%' ";
//错误格式
"select * from article where title like '%'?'%' and author like '%'?'%' ";
4、封装map集合时,不能使用链式编程直接转为JSON然后发送给AJAX,要一步一步的将map集合的值给封装好才行!
//正确格式
Map<String,Object> map = new HashMap<>();
map.put("flag", true); //这一步不能省略,否则会报异常
response.getWriter().write(new Gson().toJson(map));
//错误格式
Map<String,Object> map = new HashMap<>();
response.getWriter().write(new Gson().toJson(map.put("flag", true)));
5、联表查询也可以联三个表哦
-- 我的收藏(联了三个表)
SELECT title, author, content
FROM `user`
INNER JOIN collection
ON user.`id` = collection.`userId`
INNER JOIN article
ON article.`id` = collection.`articleId`
WHERE user.`id` = 1