操作:构建mysql中case。。。when。。。then。。。else。。。end方式
@UpdateProvider(type=Sql.class,method="update")
int update(@param("data")map); //其中map存放id(主键)与name值的映射
class Sql{
public String update(Map<String,Object>map){
Map m=map.get("data"); //然后强转。具体细节不写了
String sql;
sql=new SQL(){{
UPDATE("表名");
//判断一下,如果m中只有一组数据,直接set。。。where。。。
//如果是多组数据
String set="";
//首先遍历一下
//对第一组做单独处理
set+="name= case _id when "+'m中id值'+" then "+ 'm中对应的name值';
//其他组数据
set+=" when "+'m中id值'+" then "+'m中name值';
//循环外再加上一句,就可以不用写where语句了
set+=" else name end"; //意思是其他情况,依然用他们自己的数据再填充一次
SET(set);
}}
return sql; //OK
}
}