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_ ...
随机推荐
- Storm 学习之路(二)—— Storm核心概念详解
一.Storm核心概念 1.1 Topologies(拓扑) 一个完整的Storm流处理程序被称为Storm topology(拓扑).它是一个是由Spouts 和Bolts通过Stream连接起来的 ...
- 【工具】java发送GET、POST请求
前项目使用这种HTTP的方式进行数据交互,目前已更换数据交互方式,但是作为接口提供调用来说还是比较简洁高效的: 总体流程就是: 1.发送HTTP请求 2.获取返回的JSON对象 3.JSON转换 pa ...
- vagramt中同步文件,webpack不热加载
这是一篇参考文章:https://webpack.js.org/guides/development-vagrant/ 在使用vue-cli+webpack构建的项目中,如何使用vagrant文件同步 ...
- c# 开发ActiveX控件,添加事件,QT调用事件
c# 开发 ActiveX 的过程参考我的另一篇文章 : https://www.cnblogs.com/baqifanye/p/10414004.html 本篇讲如何 在C# 开发的ActiveX ...
- 数据库root密码删除
1 打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址 2 打开cmd命令提示符,进入上一步mysql.exe所在的文件夹. 3 输入命令 mysqld --skip-g ...
- GIT \ SVN 版本管理 git + gitHub
场景1 想删除一个段落,又怕将来想恢复找不回来怎么办?有办法,先把当前文件"另存为--"一个新的Word文件,再接着改,改到一定程度,再"另存为--"一个新 ...
- 浅入深出Vue:组件
组件在 vue开发中是必不可少的一环,用好组件这把屠龙刀,就能解决不少问题. 组件是什么 官方的定义: 组件是可复用的 Vue 实例,并且可带有一个名字. 官方的定义已经非常简明了,组件就是一个实例. ...
- 机器学习读书笔记(一)k-近邻算法
一.机器学习是什么 机器学习的英文名称叫Machine Learning,简称ML,该领域主要研究的是如何使计算机能够模拟人类的学习行为从而获得新的知识和技能,并且重新组织已学习到的知识和和技能,使之 ...
- Oracle 数据库连接不上 登录一直卡死
在此记录下半个月来,oracle数据库本地神奇地连接不了的事件. 描述下我的情况: (1)使用navicat连接本地的数据库,结果一直卡[正在连接中(无响应)]: (2)使用PL/SQL连接本地的数据 ...
- Linux虚拟机怎么添加磁盘?
一.VMware workstation菜单栏