根据条件删除多条记录sql语句怎么写?

TatsuyaLMinami 2017-05-18 03:28:23
我知道应该是
delete from tag where t_type in('xx','xx','xx')这种形式,但是in后面在mapper里面不知道咋写了,括号里面也不是固定的,是根据哪些复选框被选中来确定的,do me a fever
controller:
@RequestMapping("/deleteTag1")
@ResponseBody
public Map<String,Object> deleteTag1(HttpServletRequest request,HttpServletResponse response,HttpSession session) {
Map<String,Object> resultMap = new HashMap<String, Object>();
String tType1 = request.getParameter("str1");
String tType ="(" +tType1+")";
tagService.deleteTag1(tType.replace('"',' '));
resultMap.put("result", "true");
return resultMap;
}
mapper:
<delete id="deleteTagBytType" parameterType="java.lang.String" >
delete from tag
where t_type in #{tType,jdbcType=VARCHAR}
</delete>
js:
function checkTag() {
if(!confirm("确定要删除这些类别及文章吗?")){
return ;
}
else {
var cks=document.getElementsByName("title");
var str1="";
var str2="";
for(var i=0;i<cks.length;i++){
if(cks[i].checked){
var tType=document.getElementById("id"+(1+i)).innerHTML;
var tType1=tType.substring(0, tType.lastIndexOf("("));
var tType2=tType.substring(tType.indexOf("(")+1,tType.lastIndexOf(")"));
if(tType2==0) {str1+="'"+tType1+"'"+ ",";}
else {str1+="'"+tType1+"'"+ ",";}
}
} //去掉字符串末尾的‘,'
str1=str1.substring(0, str1.length-1);
str2=str2.substring(0, str2.length-1);
alert(str1);
if (!(str1==null) && !(str1=="")) {
$.ajax({
url:"http://localhost:8080/blog/deleteTag1",
type:"post",
data:{str1:str1},
dataType: "Json",
async:false,
cache:false,
success:function(data1) {
if(data1.result=="true") {
alert("删除成功!");
}
},
error : function(data1) {
alert(data1.result);
}
});
}
if (!(str2==null) && !(str2=="")) {
$.ajax({
url:"http://localhost:8080/blog/deleteTag2",
type:"post",
data:{str2:str2},
dataType: "Json",
async:false,
cache:false,
success:function(data2) {
if(data2.result=="true") {
alert("删除成功!");
}
},
error : function(data2) {
alert(data2.result);
}
});
} else { }
}
}
...全文
2497 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zy_arhahaha 2017-05-19
  • 打赏
  • 举报
回复
要不就用一楼这种,传集合或者数组参数,xml里写foreach 要不就直接传拼接好的字符串参数,比如传"(1,2,3)",xml里面写 in ${参数},这种方式注意要用$,用#会默认在两头加上单引号'参数'
TatsuyaLMinami 2017-05-18
  • 打赏
  • 举报
回复
引用 1 楼 lrx2011 的回复:
<update id="deleteFromRecycleBin" parameterType="java.util.Map"> DELETE FROM meter_user WHERE `code` in <foreach collection="code" item="code" index="index" open="(" separator="," close=")"> #{code} </foreach> </update>
int deleteTagBytType(String tType); 这个怎么改?
podd 2017-05-18
  • 打赏
  • 举报
回复
<update id="deleteFromRecycleBin" parameterType="java.util.Map"> DELETE FROM meter_user WHERE `code` in <foreach collection="code" item="code" index="index" open="(" separator="," close=")"> #{code} </foreach> </update>

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧