List 更新对象全属性
<update id="batchUpdate" parameterType="java.util.Map">
<!-- 接收list参数,循环着组装sql语句,注意for循环的写法
separator=";" 代表着每次循环完,在sql后面放一个分号
item="cus" 循环List的每条的结果集
collection="list" list 即为 map传过来的参数key -->
<foreach collection="list" separator=";" item="cus">
update t_customer set
c_name = #{cus.name},
c_age = #{cus.age},
c_sex = #{cus.sex},
c_ceroNo = #{cus.ceroNo},
c_ceroType = #{cus.ceroType}
where id = #{cus.id}
</foreach>
</update>
更新其中某个属性;
@Update("<script>update bs_relation_engineer_contract set status ='DISABLE' where engineer_id=#{engineerId} " +
"and contract_id in " +
"<foreach collection='sourcesContractIdList' item='contractId' open='(' close=')' separator=','>" +
" #{contractId}" +
"</foreach>" +
"</script>")
void updateToDisable(@Param("sourcesContractIdList") List<String> sourcesContractIdList,@Param("engineerId") String engineerId);
CASE WHEN END 使用方法:
SELECT
id,
username,
CASE
WHEN age < 18 AND age > 0 THEN
"未成年"
WHEN age < 30 AND age > 18 THEN
"青年"
WHEN age < 50 AND age > 30 THEN
"中年"
WHEN age < 80 AND age > 50 THEN
"老年"
WHEN age > 80 THEN
"长寿"
END ageType
FROM
daily_tools_user;
代码解析: case 开始条件判断, when (相当于if) 当age>18 age <30 then : 将ageType 这个值设置为 青年, end: 创建一个字段来接受then 的值;