废话不多说,直接上代码

 @UpdateProvider(type = AppProvider.class, method = "updateApp")
Integer updateApp(@Param("appModel") AppModel appModel);

type:生成sql语句的类,method:类中对应的方法。

public class AppProvider extends SQL {

    private static final String TABLE_NAME = "t_application";

    public String updateApp(@Param("appModel") AppModel appModel) {
return new SQL(){{
UPDATE(TABLE_NAME); if (!StringUtils.isEmpty(appModel.getName())) {
SET("name = #{appModel.name,javaType=String,jdbcType=VARCHAR}");
}
if (!StringUtils.isEmpty(appModel.getPic())) {
SET("pic= #{appModel.pic,javaType=String,jdbcType=VARCHAR}");
}
if (!ObjectUtils.isEmpty(appModel.getIntroduce())) {
SET("type= #{appModel.type,javaType=Long,jdbcType=BIGINT}");
SET("type_name= #{appModel.typeName,javaType=String,jdbcType=VARCHAR}");
}
if (!StringUtils.isEmpty(appModel.getIntroduce())) {
SET("introduce= #{appModel.introduce,javaType=String,jdbcType=VARCHAR}");
}
WHERE("id = #{appModel.id,javaType=Long,jdbcType=BIGINT}" );
}}.toString();
}
}

UPDATE(TABLE_NAME):要更新的表名;

update table_name;

SET("name = #{appModel.name,javaType=String,jdbcType=VARCHAR}");

appModel.name:appModel类name字段的值;

javaType=String:java语言中的数据类型;

jdbcType=VARCHAR:数据库对应的数据类型;

"set  name =  appModel_name"

WHERE("id = #{appModel.id,javaType=Long,jdbcType=BIGINT}" );

"where id = appModel_id";
————————————————
版权声明:本文为CSDN博主「Solyutian」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Solyutian/article/details/82593272

Mybatis的@UpdateProvider注解的使用(转)的更多相关文章

  1. MyBatis 3 使用注解配置SQL映射器

    l 在映射器Mapper接口上使用注解 l 映射语句 @Insert,@Update,@Delete,@SeelctStatements l 结果映射 一对一映射 一对多映射 l 动态SQL @Sel ...

  2. mybatis之使用注解

    注解 使用对象 相对应的 XML 描述 @CacheNamespace 类 <cache> 为给定的命名空间(比如类)配置缓存.属性有:implemetation, eviction, f ...

  3. Mybatis基于接口注解配置SQL映射器(一)

    上文已经讲解了基于XML配置的SQL映射器,在XML配置的基础上MyBatis提供了简单的Java注解,使得我们可以不配置XML格式的Mapper文件,也能方便的编写简单的数据库操作代码. Mybat ...

  4. Spring Boot入门系列(十九)整合mybatis,使用注解实现动态Sql、参数传递等常用操作!

    前面介绍了Spring Boot 整合mybatis 使用注解的方式实现数据库操作,介绍了如何自动生成注解版的mapper 和pojo类. 接下来介绍使用mybatis 常用注解以及如何传参数等数据库 ...

  5. Mybatis的@Options注解

    mybatis的@Options注解能够设置缓存时间,能够为对象生成自增的key 第一个使用场景: 有一个表 CREATE TABLE instance ( instance_id BIGINT UN ...

  6. mybatis 使用@Select 注解,因为字符编码不一致导致mybatis 报错

    使用 mybatis 的@Select 注解, @Select({ "<script>select " + ALL_COLUMNS + " from &quo ...

  7. SpringBoot Mybatis整合(注解版),SpringBoot集成Mybatis(注解版)

    SpringBoot Mybatis整合(注解版),SpringBoot集成Mybatis(注解版) ================================ ©Copyright 蕃薯耀 2 ...

  8. 关于Mybatis的@Param注解 及 mybatis Mapper中各种传递参数的方法

    原文:https://blog.csdn.net/mrqiang9001/article/details/79520436 关于Mybatis的@Param注解   Mybatis 作为一个轻量级的数 ...

  9. Mybatis基于接口注解配置SQL映射器(二)

    Mybatis之增强型注解 MyBatis提供了简单的Java注解,使得我们可以不配置XML格式的Mapper文件,也能方便的编写简单的数据库操作代码.但是注解对动态SQL的支持一直差强人意,即使My ...

随机推荐

  1. python调用hanlp进行命名实体识别

    本文分享自 6丁一的猫 的博客,主要是python调用hanlp进行命名实体识别的方法介绍.以下为分享的全文. 1.python与jdk版本位数一致 2.pip install jpype1(pyth ...

  2. java8 用法小结

    一 简单的stream parallelStream慎用,除非你知道它内部干了什么 List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, ...

  3. GitHub访问及git工具克隆慢问题解决

    一.查询合适的DNS服务器 1.站长工具DNS查询服务器 github.com github.global.ssl.fastly.net 2.选择TTL值最小的记录,记录下对应服务器IP地址 例如 g ...

  4. k8s-部署及介绍

    Kubernetes主要功能:  数据卷 Pod中容器之间共享数据,可以使用数据卷.  应用程序健康检查 容器内服务可能进程堵塞无法处理请求,可以设置监控检查策略保证应用健壮性.  复制应用程序 ...

  5. dgv数据绑定后,添加行遇到过的问题并解决

    1. 当控件被数据绑定时,无法以编程方式向 DataGridView 的行集合中添加行 解决方法:((DataTable)Dgv.DataSource).Rows.Add("", ...

  6. 【原创】大叔案例分享(5)id打通

    经常有一些需要做id打通的场景,比如用户id打通等, 问题抽象是每条数据都可以解析出一个或多个kv pair:(id_type,id),然后需要将某一个kv pair匹配的多条数据进行merge: 比 ...

  7. Java 串口通信 Ubuntu

    说一下我的操作过程吧 在Windows上先用阿猫串口网络调试助手,进行调试: 在网上找Java代码,我选择的是RXTXcomm,网上代码很多,基本都一样. 在Windows电脑上把rxtx压缩包中的r ...

  8. JavaScript笔记(2)

    函数 1.使用关键字function声明一个函数,如果需要传参数就传参,多个参数用逗号隔开,如果不需要传参数就不传 //函数声明 function name(num1,num2){ //方法体 } 2 ...

  9. vue中keep-alive路由缓存

    <keep-alive> <component v-bind:is="view"></component> </keep-alive> ...

  10. 使用PyQt5自制文件查找工具,并生成EXE文件

    一.工作中,有一个关键词查找工作,查找开发版本中使用的文本,有哪些词语是非法的,一个一个去查太累了,所以想到了用代码来实现.可后来想想,能否做成简单的小工具,大家都可以使用. 于是就着手编写工具.原来 ...