mybatis动态插入数据库
<insert id="dynamicAddUser">
insert into t_user
<!-- trim 对所有的表中列名 进行动态处理 -->
<trim prefix="(" suffix=")" suffixOverrides=",">
<!-- 这个phone指的是pojo。User类中的成员变量,更确切的是: phone指的是该类中get方法中的return返回 -->
<if test="phone!=null">phone,</if>
<if test="uname!=null">uname,</if>
<if test="upwd!=null">upwd,</if>
<if test="email!=null">email,</if>
<!-- 如果role 为int类型
.那么pojo。User中使用Integer进行定义 -->
<if test="role!=null">role</if>
</trim>
values
<trim prefix="(" suffix=")" suffixOverrides=",">
<!-- 这个phone指的是pojo。User类中的成员变量,更确切的是: phone指的是该类中get方法中的return返回 -->
<if test="phone!=null">#{phone},</if>
<if test="uname!=null">#{uname},</if>
<if test="upwd!=null">#{upwd},</if>
<if test="email!=null">#{email},</if>
<!-- 如果role 为int类型
.那么pojo。User中使用Integer进行定义 -->
<if test="role!=null">#{role}</if>
</trim>
</insert>
<insert id="dynamicAddUser"> insert into t_user <!-- trim 对所有的表中列名 进行动态处理 --> <trim prefix="(" suffix=")" suffixOverrides=","> <!-- 这个phone指的是pojo。User类中的成员变量,更确切的是: phone指的是该类中get方法中的return返回 --> <if test="phone!=null">phone,</if> <if test="uname!=null">uname,</if> <if test="upwd!=null">upwd,</if> <if test="email!=null">email,</if> <!-- 如果role 为int类型 .那么pojo。User中使用Integer进行定义 --> <if test="role!=null">role</if> </trim> values <trim prefix="(" suffix=")" suffixOverrides=","> <!-- 这个phone指的是pojo。User类中的成员变量,更确切的是: phone指的是该类中get方法中的return返回 --> <if test="phone!=null">#{phone},</if> <if test="uname!=null">#{uname},</if> <if test="upwd!=null">#{upwd},</if> <if test="email!=null">#{email},</if> <!-- 如果role 为int类型 .那么pojo。User中使用Integer进行定义 --> <if test="role!=null">#{role}</if> </trim> </insert>
mybatis动态插入数据库的更多相关文章
- mybatis动态插入数据(使用trim标签)
知识点: 当向一张表里插入数据,传入的参数不固定时,使用到mybatis的动态插入(trim标签) 参考博客:https://blog.csdn.net/h12kjgj/article/details ...
- MyBatis动态插入的实现
mybatis通过定义前缀后缀和分割字符来拼接sql语句,实现动态插入的功能 <insert id="addNewsTypeByNewsId"> insert into ...
- Mybatis+Mysql插入数据库返回自增主键id值的三种方法
一.场景: 插入数据库的值需要立即得到返回的主键id进行下一步程序操作 二.解决方法: 第一种:使用通用mapper的插入方法 Mapper.insertSelective(record): 此方法: ...
- 利用mybatis generator实现数据库之间的表同步
项目背景: 项目需要对两个服务器上的表进行同步,表的结构可能不一样.比如服务器A上的表i同步数据到服务器B上的表j,i和j的结构可能不一样,当然大部分字段是一样的.项目看起来很简单,网上一搜也是很多, ...
- Java MyBatis 插入数据库返回主键
最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记. 类似下面这段代码一样获取插入后的主键 User user = new User ...
- Mybatis对oracle数据库进行foreach批量插入操作
MySQL支持的语法 INSERT INTO `tableX` ( `a`, `b`, `c`, `d`, `e` ) VALUES <foreach collection ="lis ...
- 使用mybatis向oracle数据库插入数据异常
遇到了使用mybatis向oracle数据库插入数据异常的问题, 具体的报错如下:org.springframework.jdbc.UncategorizedSQLException: ### Err ...
- MyBatis 插入数据库返回主键
最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记. 类似下面这段代码一样获取插入后的主键 User user = new User ...
- mybatis+oracle 完成插入数据库,并将主键返回的注意事项
mybatis+oracle 完成插入数据库,并将主键返回的注意事项一条插入语句就踩了不少的坑,首先我的建表语句是: create table t_openapi_batch_info( BATCH_ ...
随机推荐
- ZooKeeper学习之路(二)—— Zookeeper单机环境和集群环境搭建
一.单机环境搭建 1.1 下载 下载对应版本Zookeeper,这里我下载的版本3.4.14.官方下载地址:https://archive.apache.org/dist/zookeeper/ # w ...
- Docker中使用CentOS7镜像
因后面会将操作系统从CentOS6.4升级到CentOS7,先试用下CentOS7. 启动容器服务 systemctl start docker.service 下载CentOS7 镜像 [roo ...
- Python开发【第五篇】: 内置模块
内容概要 二分查找.冒泡 random time os sys pickle json shelve re 1.二分查找和冒泡排序 01. 二分查找 二分查找也称折半查找(Binary Search) ...
- XTOJ 1267:Highway(树的直径)***
http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/1267 题意:给出一棵树,每条树边有权值,现在要修建n-1条边,边的权值为边 ...
- POJ 3183:Stump Removal(模拟)
http://poj.org/problem?id=3183 题意:有n个树桩,分别有一个高度h[i],要用Bomb把树桩都炸掉,如果炸的位置的两边树桩高度小于Bomb炸的树桩高度,那么小于树桩高度的 ...
- 如何实现LRU算法?
1.什么是LRU算法? LRU是一种缓存淘汰机制策略. 计算机的缓存容量有限,如果缓存满了就要删除一些内容,给新的内容腾位置.但是要删除哪些内容呢?我们肯定希望删掉那些没有用的缓存,而把有用的数据继续 ...
- S7-1200 的运动控制
S7-1200 CPU本体集成点硬件输出点最高频率为100kHz,信号板上硬件集成点输出的最高频率为20kHz,CPU在使用PTO功能时将把集成点Qa.o,Qa.2或信号板的Q4.0作为脉冲输出点,Q ...
- Linux命令学习-tar命令
Linux中,tar命令的全称是tape archive,主要作用是压缩和解压文件. 参数说明: -c 创建新的压缩档案 -x 解压档案 -t 列出压缩档案的内容 -z 使用gzip来解压和压缩,文件 ...
- 微服务SpringCloud之熔断器
学习SpringCloud微服务是参考纯洁的微笑博客,看到他提到股市的熔断我也忍不住吐槽一下,记得当时实施熔断第一天就熔断了,现在想想也还是搞笑,从之前的全民炒股到现在的全民炒房,都是一个炒字,问题是 ...
- NetCore AutoMapper的封装
需要引用AutoMapper的Nuget包 如果需要忽略某个字段就在字段上面打标签如下: [IgnoreMap] public string IgnoreValue { get; set; } ...