Mybatis的@UpdateProvider注解的使用(转)
废话不多说,直接上代码
@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注解的使用(转)的更多相关文章
- MyBatis 3 使用注解配置SQL映射器
l 在映射器Mapper接口上使用注解 l 映射语句 @Insert,@Update,@Delete,@SeelctStatements l 结果映射 一对一映射 一对多映射 l 动态SQL @Sel ...
- mybatis之使用注解
注解 使用对象 相对应的 XML 描述 @CacheNamespace 类 <cache> 为给定的命名空间(比如类)配置缓存.属性有:implemetation, eviction, f ...
- Mybatis基于接口注解配置SQL映射器(一)
上文已经讲解了基于XML配置的SQL映射器,在XML配置的基础上MyBatis提供了简单的Java注解,使得我们可以不配置XML格式的Mapper文件,也能方便的编写简单的数据库操作代码. Mybat ...
- Spring Boot入门系列(十九)整合mybatis,使用注解实现动态Sql、参数传递等常用操作!
前面介绍了Spring Boot 整合mybatis 使用注解的方式实现数据库操作,介绍了如何自动生成注解版的mapper 和pojo类. 接下来介绍使用mybatis 常用注解以及如何传参数等数据库 ...
- Mybatis的@Options注解
mybatis的@Options注解能够设置缓存时间,能够为对象生成自增的key 第一个使用场景: 有一个表 CREATE TABLE instance ( instance_id BIGINT UN ...
- mybatis 使用@Select 注解,因为字符编码不一致导致mybatis 报错
使用 mybatis 的@Select 注解, @Select({ "<script>select " + ALL_COLUMNS + " from &quo ...
- SpringBoot Mybatis整合(注解版),SpringBoot集成Mybatis(注解版)
SpringBoot Mybatis整合(注解版),SpringBoot集成Mybatis(注解版) ================================ ©Copyright 蕃薯耀 2 ...
- 关于Mybatis的@Param注解 及 mybatis Mapper中各种传递参数的方法
原文:https://blog.csdn.net/mrqiang9001/article/details/79520436 关于Mybatis的@Param注解 Mybatis 作为一个轻量级的数 ...
- Mybatis基于接口注解配置SQL映射器(二)
Mybatis之增强型注解 MyBatis提供了简单的Java注解,使得我们可以不配置XML格式的Mapper文件,也能方便的编写简单的数据库操作代码.但是注解对动态SQL的支持一直差强人意,即使My ...
随机推荐
- [转帖]postgresql 在等待服务器启动时超时
postgresql 在等待服务器启动时超时 2018年12月24日 :: my_name_nb 阅读数 版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接 ...
- [转帖]公钥基础设施(PKI)/CFSSL证书生成工具的使用
公钥基础设施(PKI)/CFSSL证书生成工具的使用 weilovepan520关注1人评论84344人阅读2018-05-26 12:22:20 https://blog.51cto.com/liu ...
- Oracle 中 decode 函数用法(字段A,B, C,A不为空则取A,否则取B,B为空则取C)
–decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值) SELECT DECODE(TEMP.SCORE, ‘A’, ‘90-100’, ‘B’, ‘80-89’, ‘C’, ...
- 一文搞懂 Java 中的枚举,写得非常好!
知识点 概念 enum的全称为 enumeration, 是 JDK 1.5 中引入的新特性. 在Java中,被 enum关键字修饰的类型就是枚举类型.形式如下: enum Color { RED, ...
- IDEA自动生成的注释模板
使用效果如下: * * @功能描述 : $params$ * @return $returns$ * @author xuetao */ 其中 $params$的表达式如下: groovyScript ...
- 七牛云图床及MPIC工具使用
考虑到图片更容易被人接受,但是大量图片又会延迟博客加载速度.因此,个人感觉可以把静态文件资源托管在云端,这样加载的话就不至于太慢. 注册七牛云 实名验证通过 创建文件存储 内容管理-上传图片 下载Mp ...
- apache tika检测文件是否损坏
Apache Tika用于文件类型检测和从各种格式的文件内容提取的库. 将上传文件至服务器,进行解析文件时,经常需要判断文件是否损坏.我们可以使用tika来检测文件是否损坏 maven引入如下: &l ...
- 嵌套泛型参数IList<IList<Object>>如何传参
在调用第三方库的时候,有这么一个泛型参数,如下图: 按照经验,使用两个List嵌套声明变量即可: IList<IList<AnnotatedPoint2D>> outImag ...
- python私有化xx、_xx、__xx、__xx__、xx_的区别
xx:共有变量. _xx:私有化的属性或方法,from xxx import * 时无法导入,子类的对象和子类可以访问. __xx:避免与子类中的属性命名冲突,无法在外部直接访问(名字重整所以访问不到 ...
- Censoring(栈+KMP)
# 10048. 「一本通 2.2 练习 4」Censoring [题目描述] 给出两个字符串 $S$ 和 $T$,每次从前往后找到 $S$ 的一个子串 $A=T$ 并将其删除,空缺位依次向前补齐,重 ...