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_ ...
随机推荐
- spring cloud 系列第2篇 —— eureka 高可用注册中心的搭建 (F版本)
源码仓库地址:https://github.com/heibaiying/spring-samples-for-all 一.项目结构 eureka-server为服务注册中心,负责服务的管理: eur ...
- Docker配置容器位置和小技巧
Docker使用小技巧 清理全部停止的docker容器 有时候我们会有很多已经停止的容器或者由于错误强制退出不能用的容器,那我们就需要删除了,但是我们一个一个的rm删除很麻烦,有多少容器就要rm多少次 ...
- 【设计模式】行为型06命令模式(Command Pattern)
命令模式 个人理解:命令模式,本质上是一种多层次的封装. 好处:降低耦合,扩展极其方便. 以下一段文案摘抄自:http://www.runoob.com/design-pattern/command- ...
- Windows上安装PyV8
Windows上安装PyV8 在PyPi网站上有Windows的exe格式的包连接, PyPi, Google注意网络是否通畅! 官网地址 Google PyV8 双击安装, 注意, 一般会自动检测P ...
- RT-Thread的CPU占用率查看
今天看到朋友的博客,他在描述RT-Thread钩子函数时,简单提了下RT-Thread中CPU占用,没有具体描述,所以我在这里做下补充. RT-Thread查看CPU使用率时,我知道的有这种方法. 大 ...
- 【运维实战】利用tar -g 实现简单全量备份和增量备份(带演示)
备份产生 全量备份指完全备份,增量备份指针对上次至今的修改进行备份.linux提供tar -g可实现备份功能. 第一次运行 tar -g 备份存放目录/snapshot -czvf 备份存放目录/备 ...
- filebeat直连elasticsearch利用pipeline提取message中的字段
这里使用filebeat直连elasticsearch的形式完成数据传输,由于没有logstash,所有对于原始数据的过滤略显尴尬(logstash的filter非常强大). 但是由于业务需求,还是需 ...
- sql 中 并集union和union all的使用区别
union 操作符用于合并两个或多个 SELECT 语句的结果集,并且去除重复数据,按照数据库字段的顺序进行排序. 例 SELECT NAME FROM TABLE1UNIONSELECT EMP_ ...
- JDK源码分析系列02---ArrayList和LinkList
ArrayList和LinkList的源码分析 概要 ArrayList和LinkList是常用的存储结构,不看源码先分析字面意思,Array意思是数组,可知其底层是用数组实现的,Link意思是链接, ...
- POJ 2914:Minimum Cut(全局最小割Stoer-Wagner算法)
http://poj.org/problem?id=2914 题意:给出n个点m条边,可能有重边,问全局的最小割是多少. 思路:一开始以为用最大流算法跑一下,然后就超时了.后来学习了一下这个算法,是个 ...