mybatis
sql语句中 in 拼接
<update id="updateStatus">
update message set status = #{status}
where id in
<foreach collection="ids" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</update>
------------------------
说明:where id in (1,2,....101,102)
(1,2,....101,102) 这里应该是动态拼接一系列的id
id="updateStatus" updateStatus mapper中的方法名, mapper中的方法如下
// 修改消息的状态-已读 未读 删除 根据id
int updateStatus(List<Integer>ids, int status);
where id in id 为数据库中 表message 中的字段
<foreach collection="ids" item="id" open="(" separator="," close=")">
这里的foreach 遍历集合, collection="ids" ids是集合的名字--List<Integer>ids
item="id" 遍历集合取出的每个 Integer 取名为id
open="(" 以( 开头; separator="," 中间,隔开; close=")以)结尾
#{id} 拼接的内容是id
异步请求
controller层
//@ResponseBody 声明异步请求要加这个
//这个方法返回的json格式的字符串
@RequestMapping(path = "/letter/send",method = RequestMethod.POST)
@ResponseBody
public String sendLetter(String toName, String content) {
User target = userService.findUserByName(toName);
if(target == null) {
return CommunityUtil.getJSONString(1,"目标用户不存在!");
}
Message message = new Message();
message.setFromId(hostHolder.getUser().getId());
message.setToId(target.getId());
if(message.getFromId() < message.getToId()) {
message.setConversationId(message.getFromId() + "-" + message.getToId());
}else {
message.setConversationId(message.getToId() + "-" + message.getFromId());
}
message.setContent(content);
message.setCreateTime(new Date());
messageService.addMessage(message) ;
return CommunityUtil.getJSONString(0);
}
前端层-js
function send_letter() {
$("#sendModal").modal("hide");
//根据id 选择器 获取对应的值
var toName = $("#recipient-name").val();
var content = $("#message-text").val();
//异步请求 的post请求
// post请求的访问路径
// 向服务器提交的数据-json格式
//function (data) 回调函数-匿名,成功的时候服务器返回值给data
$.post(
CONTEXT_PATH + "/letter/send",
{"toName":toName,"content":content},
function (data) {
data = $.parseJSON(data);
if(data.code == 0) {
// 展示在前端的文本值
$("#hintBody").text("发送成功!");
}else{
$("#hintBody").text(data.msg);
}
// 显示弹出框
$("#hintModal").modal("show");
setTimeout(function(){
$("#hintModal").modal("hide");
// 重新加载页面
location.reload();
}, 2000);
}
)
}