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 ...
随机推荐
- 【Python】【demo实验19】【练习实例】【不同位数相同阿拉伯数字组成的数之和】
原题: 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制. 我的代码: #!/usr/bin ...
- #######【Python】【基础知识】【标准库】目录及学习规划 ######
下述参考Python DOC https://docs.python.org/zh-cn/3/library/index.html 概述 可用性注释 内置函数 内置常量 由 site 模块添加的常量 ...
- 网站循环加载监控-C#
背景: 公司有一个报表的网站,服务器或系统不太稳定,导致客户有时候查看报表网址的时候网站打不开或者打开时间过长,影响用户体验 需求: 通过程序循环打开网址了解加载情况,使用谷歌浏览器内核.,程序开发不 ...
- redis哨兵sentinel.conf文件
关闭保护模式 //17行 protected-mode no 端口号 //21 port 26379 后台启动 //26 daemonize yes //84行 主机的ip加端口号 2 为票数 sen ...
- h5中的结构元素header、nav、article、aside、section、footer介绍
结构元素不具有任何样式,只是使页面元素的的语义更加明确. header元素 header元素是一种具有引导和导航作用的的结构元素,该元素可以包含所有通常放在页面头部的内容.header元素通常用来放置 ...
- Ruby Rails学习中:添加安全密码
接上篇 一. 添加安全密码 我们已经为 name 和 email 字段添加了验证规则, 现在要加入用户所需的最后一个常规属性: 安全密码.每个用户都要设置一个密码(还要二次确认), 数据库中则存储经过 ...
- Spring Boot源码分析-启动过程
Spring Boot作为目前最流行的Java开发框架,秉承"约定优于配置"原则,大大简化了Spring MVC繁琐的XML文件配置,基本实现零配置启动项目. 本文基于Spring ...
- 输出单项链表中倒数第k个结点——牛客刷题
题目描述: 输入一个单向链表,输出该链表中倒数第k个结点 输入.输出描述: 输入说明:1.链表结点个数 2.链表结点的值3.输入k的值 输出说明:第k个结点指针 题目分析: 假设链表长度为n,倒数第k ...
- git的常用指令(二) git add -A 、git add . 和 git add -u
git add . :他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件. git add -u :他仅监控 ...
- vs2010 回车、退格键等不能用
有时候在vs2010中,突然回退键.回车键.方向键就用不了了,百度一堆方法,最后找到按Alt+Enter,就可以用了.