update 标签是用于定义更新 语句的.
update 有几个常用的属性, 但是通常只需要设置id 即可.
<update id="deleteAuthor" parameterType="domain.blog.Author" flushCache="true" statementType="PREPARED" timeout="20">
</update>
Mapper中方法定义:
// 返回值为空
void update(EmployeePO emp);
// 返回值为布尔类型
boolean update(EmployeePO emp);
// 返回值为删除的条数
long update(EmployeePO emp);
sql 片段:
<update id="update">
update t_employee
set id = #{id}, name = #{name}, sex=#{sex}, entryDate =#{entryDate}
where id = #{id}
</update>
<!-- 通过id 删除 -->
<update id="update">
update t_employee
set id = #{id}, name = #{name}, sex=#{sex}, entryDate =#{entryDate}
where id = #{id}
</update>
<!-- 更新不为空的属性 -->
<update id="updateNotNull">
update t_employee
<set >
<if test="name != null">
name = #{name},
</if>
<if test="sex != null">
sex = #{sex},
</if>
<if test="entryDate != null">
entryDate = #{entryDate},
</if>
</set>
where id = #{id}
</update>
public interface EmployeeMapper {
// 修改
long update(EmployeePO employeePO);
// 更新不为空的属性
boolean updateNotNull(EmployeePO employeePO);
}
// 测试更新方法
@Test
public void update(){
EmployeeMapper employeeMapper = SqlSessionUtil.getMapper(EmployeeMapper.class, true);
EmployeePO employeePO = employeeMapper.findById(1L);
employeePO.setName(employeePO.getId() + "_" + employeePO.getName());
long flag = employeeMapper.update(employeePO);
Assert.assertEquals(1L, flag);
}
// 测试更新方法
@Test
public void updateNotNull(){
EmployeeMapper employeeMapper = SqlSessionUtil.getMapper(EmployeeMapper.class, true);
EmployeePO employeePO = new EmployeePO(null, 26, "W",LocalDate.now());
employeePO.setId(1L);
employeeMapper.updateNotNull(employeePO);
}
文章浏览阅读1k次。//http://baike.baidu.com/link?url=QucJiA_Fg_-rJI9D4G4Z4687HG4CfhtmBUd5TlXrcWCeIEXCZxIh0TD7ng1wROAzAuGD8qncM65XK4BZ1K1uqqintCFTP_MFC_TESTDlg::FTP_DownLoadFile(char*FtpIp,char*User,char*Passwor..._ftp 不使用缓存
文章浏览阅读2.7k次。IIS配置及优化_windows iis
文章浏览阅读1.9w次,点赞3次,收藏6次。虽然newspaper框架存在不完美的地方,但是依然需要认识它_python 爬虫框架 newspaper
文章浏览阅读8.1k次,点赞4次,收藏15次。MP4格式分析mp4文件由一系列的box(也有人把它叫做atom)构成,每个box包含box头部和box体。box体可以包含普通的数据,也可以包含其他的box,如果box中包含了另一个box,这种box称为container box。box由head和body构造,head中指明了box的大小和类型,如果size为1,则表示这个box的大小为large size,真正的si_vc mvhd box
文章浏览阅读571次。题外话:从中秋请假到现在,接近20天的假期,让我彻底耍晕了,现在来写代码,发现始终没进入状态。以后建议大家没特殊事情,还是别请这么久啦,分开耍,有利于放松,也不至于耍得忘乎所以。我是一直想做互联网 并发 大数据方面的工作,有兴趣才有动力嘛,企业开发感觉活力不强,太多重复的劳动,还是喜欢研究 解决问题,有挑战的东东。线程这块,生产者与消费者模型一直是很经典的东东,这里我用自己的理解分享一下,有误..._现场总线生产者与消费者模型分析
文章浏览阅读7.4k次,点赞6次,收藏9次。今天遇到了Oracle数据库字符串(含数字)排序问题,这里记录的是如何用MyBatis-Plus的queryWrapper条件构造器来解决的方法。造成的原因:数据库字段为varchar类型(若为Number类型则无此问题)数据库字符串排序是按照顺序一位一位比较的,按照ascII码值比较。如:2比1大,所以12会排在2前面解决办法:先按字符串长度排序,再按字段排序关键代码(queryWrapper条件构造器实现形式)//利用数据库length函数获取字符串长度(这里的code是我数据库中的_mybatis字符串数字排序
文章浏览阅读768次。一、安装erlang:1、先下载rpm包:wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm2、rpm包:rpm -Uvh erlang-solutions-1.0-1.noarch.rpm可能会有以下问题:解决办法:(执行以下命令后,在执行上一条命令)yum..._rabbitmq linux安装
文章浏览阅读781次。docker安装官方文档:Install Docker Engine on CentOS2、安装提供了工具3、通过添加docker repository如果出现上面的错误提示,可通阿里源进行添加4、安装docker4.1、直接安装最新版本这步完成后可直接跳至启动docker4.2、或者安装指定版本按版本号倒序列出可安装版本列表安装指定版本例如安装20.10.9版本5、启动docker通过进行启动设置docker服务开机启动6、测试7、卸载docker下的_centos7安装最新版dockers
文章浏览阅读429次。package aaa.bbb.demo;import java.util.ArrayList;import java.util.List;public class RecognitionDemo { public static void main(String[] args) { String str1="SB哈NM哈哈哈WBDhdsada"; String str_敏感文本识别算法
华为鸿蒙系统Huawei HarmonyOS
文章浏览阅读4.9k次。1.1 监听onpaste事件1.1.1 定义和用法npaste 事件在用户向元素中粘贴文本时触发。注意:虽然使用的 HTML 元素都支持 onpaste 事件,但实际上并非支持所有元素,例如 <p> 元素, 除非设置了 contenteditable 为 "true" (查看下文的更多实例)。提示:onpaste 事件通常用于 type="text" 的 ..._js 获取粘贴板内容 移动端
文章浏览阅读4.7k次,点赞2次,收藏4次。在最初升级win10的时候就想到了这些问题,例如和各种软件的不兼容性。当然,事实上win10并没有想象的那么糟,作为一个windows user 来说,win10的确是很高大上的,无论是颜值或者是体验,都让人爱不释手。下面我就说一下最近和win10的那些事之一:在win10系统下安装了IBM Cognos Transform后,Transform的一些设计界面不能完全显示,而后我们就是要想办法_用苹果设计的ui在win显示不明显