Mybatis和orcale update语句中接收参数为对象的实例代码
Mybatis的 mapper.xml 中 update 语句使用 if 标签判断对像属性是否为空值。
UserDTO是传过来参数的类型,userDTO是在mapperDao接口中给更新方法的参数起的别名。
mapperDao.java
int updata(@Param("userDTO") UserDTO userDTO);
mapper.xml
<update id="updata" parameterType="UserDTO"> UPDATE table u <set> <if test=" userDTO.age!=null and userDTO.age !='' "> u.identity = #{userDTO.age}, </if> <if test=" userDTO.name !=null and userDTO.name !='' "> u.name = #{userDTO.name}, </if> </set> <where> u.id = #{userDTO.id} </where> </update>
总结
以上所述是小编给大家介绍的Mybatis和orcale update语句中接收参数为对象的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
Mybatis update数据库死锁之获取数据库连接池等待
最近学习测试mybatis,单个增删改查都没问题,最后使用mvn test的时候发现了几个问题: 1.update失败,原因是数据库死锁 2.select等待,原因是connection连接池被用光了,需要等待 get: 1.要勇于探索,坚持就是胜利.刚看到错误的时候直接懵逼,因为错误完全看不出来,属于框架内部报错,在犹豫是不是直接睡 觉得了,毕竟也快12点了.最后还是给我一点点找到问题所在了. 2.同上,要敢于去深入你不了解的代码,敢于研究不懂的代码. 3.距离一个合格的码农越来越远了,因为越
-
Mybatis 中的insertOrUpdate操作
下面一段代码给大家介绍了Mybatis 中的insertOrUpdate操作,具体代码如下所示: <insert id="insertOrUpdate"> insert into base_person (pname, idcard, gender, nation, source_flag, create_time) values <foreach collection="list" item="p" index="i
-
Mybatis Update操作返回值问题
后端的数据持久化使用的是 Mybatis ,在做高并发下账户增减余额的时候,打算使用乐观锁来解决这个问题.在获取update操作的返回值时遇到了一个问题,似乎 Mybatis 进行 update 操作得到的 int 返回值并不是影响的行数.这下就尴尬了. 一般而言,我们知道当我们使用 Mybatis 在 mapper 接口中定义 insert delete 等操作,定义一个 int 类型的返回值,通过该值是否为 0 来判断数据库中受影响的行数进而判断操作是否成功. 到底 update 返回值代表
-
mybatis执行批量更新batch update 的方法(oracle,mysql两种)
Oracle和MySQL数据库的批量update在mybatis中配置不太一样: oracle数据库: <code class="hljs tcl" style=""><<span class="hljs-keyword" style="">update</span> id=<span class="hljs-string" style=""
-
使用MyBatis 动态update数据
使用mybatis写sql,需要动态更新对象数据,每次需要更新的字段不同,为了防止null空异常,就需要用动态sql了, <update id="update" parameterType="com.commuli.po.User"> update s_user <trim prefix="set" suffixOverrides=","> <if test="name!=null&qu
-
Mybatis和orcale update语句中接收参数为对象的实例代码
Mybatis的 mapper.xml 中 update 语句使用 if 标签判断对像属性是否为空值. UserDTO是传过来参数的类型,userDTO是在mapperDao接口中给更新方法的参数起的别名. mapperDao.java int updata(@Param("userDTO") UserDTO userDTO); mapper.xml <update id="updata" parameterType="UserDTO"&g
-
sql语句中日期相减的操作实例代码
目录 1. 直接用日期时间做减法 2. 使用 datediff 函数 补充:下面来看个实例 总结 1. 直接用日期时间做减法 GETDATE() 和 NOW() 查出来的时间一样,都带时分秒 select GETDATE(),NOW() FROM t_表名; curdate() 只显示 年月日 select curdate(),NOW() FROM TB_表名; 如果直接做减法,只能得到两个时间相差多少天 select (NOW()-日期时间字段) FROM T_表名; 若不要 时分秒,可以考虑
-
SpringBoot接收参数使用的注解实例讲解
目录 1.基本介绍 2.接收参数相关注解应用实例 @PathVariable 使用 @RequestHeader 使用 @RequestParam 使用 @CookieValue 使用 @RequestBody 使用 3.复杂参数 1.基本介绍 2.复杂参数应用实例 4.自定义对象参数-自动封装 1.基本介绍 2.自定义对象参数-应用实例 1.基本介绍 SpringBoot 接收客户端提交数据/参数会使用到相关注解 详 解 @PathVariable . @RequestHeader . @Mo
-
Java程序打包成带参数的jar文件实例代码
这里我们通过Apache Commons CLI来完成目标功能,废话不多说直接上代码 所需的maven依赖 <dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> <version>1.4</version> </dependency> 这里我们贴出主类代码 Options opts = new Optio
-
PHP 中TP5 Request 请求对象的实例详解
PHP 中TP5 Request 请求对象 public/index.php <?php // [ 应用入口文件 ] // 定义应用目录 define('APP_PATH', __DIR__ . '/../app/'); // 定义配置文件目录和应用目录同级 define('CONF_PATH', __DIR__.'/../config/'); // 加载框架引导文件 require __DIR__ . '/../thinkphp/start.php'; app\index\controller
-
java 将byte中的有效长度转换为String的实例代码
一般的我们使用byte接收读取到的数据,若数据没有达到byte定义的大小时,我们直接将byte转换为String则会出现乱码的情况,在这种情况下应该基于read的返回值来转换byte,否则将产生乱码的情况, 下面是一个简单的示例: package com.javaio.myinputstream; public class MyConsole { public static void main(String argv[]) throws Exception { System.out.printl
-
将List集合中的map对象转为List<对象>形式实例代码
本文实例主要实现将List集合中的map对象转为List<对象>形式,下面是完整代码: import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import org.apache.commons.beanutils.ConvertUtils; import org.apache.commons.bea
-
枚举java语言中的修饰符组合的实例代码
枚举java语言中的修饰符组合,代码如下所示: package model; /*22:37 2019/7/20*/ /* top class的修饰符组合 abstract final public * 2 * 2 warning: abstract final 冲突 最终,共有2*(2*2-1)=6种修饰符组合用于top class */ /* public abstract class PublicAbstractClass{} public final class PublicFinalC
-
Django接收照片储存文件的实例代码
后端: from rest_framework.views import APIView from car import settings from django.shortcuts import render, redirect, HttpResponse from dal import models from django.http import JsonResponse import os BASE_DIR = os.path.dirname(os.path.dirname(os.path
-
JavaScript中展开运算符及应用的实例代码
展开运算符(spread operator)允许一个表达式在某处展开.展开运算符在多个参数(用于函数调用)或多个元素(用于数组字面量)或者多个变量(用于解构赋值)的地方可以使用. let obj1 = { value1: 1, value2: 2 }; let obj2 = {...obj1 }; console.log(obj2); // {value1: 1, value2: 2} 上面的用法实际相当于 obj2 = {value1: 1, value2: 2} 展开运算符的写法与obj2
随机推荐
- Firefox下设为主页的JavaScript代码
- JS中递归函数
- 运用mysqldump 工具时需要注意的问题
- angularJS与bootstrap结合实现动态加载弹出提示内容
- 针对aspx木马可以读取iis站点信息,跨网站目录的临时解决方法
- C语言计算代码执行所耗CPU时钟周期
- 详解如何配置 VirtualBox 中的客户机与宿主机之间的网络连接
- JavaScript实现基于Cookie的存储类实例
- 关于ASP.NET中TreeView用法的一个小例子
- PHP中绘制图像的一些函数总结
- PHP实现一个多功能购物网站的案例
- 初探PHP5
- MySQL分页技术、6种分页方法总结
- javascript 一个函数对同一元素的多个事件响应
- 巧用Javascript的逻辑运算符
- java 中继承和多态详细介绍
- jQuery实现查找最近父节点的方法
- C#实现winform自动关闭MessageBox对话框的方法
- Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
- Android实现离线缓存的方法