<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动态插入数据库的更多相关文章

  1. mybatis动态插入数据(使用trim标签)

    知识点: 当向一张表里插入数据,传入的参数不固定时,使用到mybatis的动态插入(trim标签) 参考博客:https://blog.csdn.net/h12kjgj/article/details ...

  2. MyBatis动态插入的实现

    mybatis通过定义前缀后缀和分割字符来拼接sql语句,实现动态插入的功能 <insert id="addNewsTypeByNewsId"> insert into ...

  3. Mybatis+Mysql插入数据库返回自增主键id值的三种方法

    一.场景: 插入数据库的值需要立即得到返回的主键id进行下一步程序操作 二.解决方法: 第一种:使用通用mapper的插入方法 Mapper.insertSelective(record): 此方法: ...

  4. 利用mybatis generator实现数据库之间的表同步

    项目背景: 项目需要对两个服务器上的表进行同步,表的结构可能不一样.比如服务器A上的表i同步数据到服务器B上的表j,i和j的结构可能不一样,当然大部分字段是一样的.项目看起来很简单,网上一搜也是很多, ...

  5. Java MyBatis 插入数据库返回主键

    最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记. 类似下面这段代码一样获取插入后的主键 User user = new User ...

  6. Mybatis对oracle数据库进行foreach批量插入操作

    MySQL支持的语法 INSERT INTO `tableX` ( `a`, `b`, `c`, `d`, `e` ) VALUES <foreach collection ="lis ...

  7. 使用mybatis向oracle数据库插入数据异常

    遇到了使用mybatis向oracle数据库插入数据异常的问题, 具体的报错如下:org.springframework.jdbc.UncategorizedSQLException: ### Err ...

  8. MyBatis 插入数据库返回主键

    最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记. 类似下面这段代码一样获取插入后的主键 User user = new User ...

  9. mybatis+oracle 完成插入数据库,并将主键返回的注意事项

    mybatis+oracle 完成插入数据库,并将主键返回的注意事项一条插入语句就踩了不少的坑,首先我的建表语句是: create table t_openapi_batch_info( BATCH_ ...

随机推荐

  1. Node 在chrome上调试

    先确保node是否安装成功: 然后 1.创建node_module块,并在同一层级创建一个服务: 如server.js: 2.下载调试工具devtool: npm install -g devtool ...

  2. 09 audio和vedio标签

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...

  3. 高并发 Nginx+Lua OpenResty系列(2)——Nginx Lua API

    Nginx Lua API 和一般的Web Server类似,我们需要接收请求.处理并输出响应.而对于请求我们需要获取如请求参数.请求头.Body体等信息:而对于处理就是调用相应的Lua代码即可:输出 ...

  4. 【Java源码】集合类-JDK1.8 哈希表-红黑树-HashMap总结

    JDK 1.8 HashMap是数组+链表+红黑树实现的,在阅读HashMap的源码之前先来回顾一下大学课本数据结构中的哈希表和红黑树. 什么是哈希表? 在存储结构中,关键值key通过一种关系f和唯一 ...

  5. 编写loadrunner的ftp脚本(详细步骤)

    大家好,主要给大家讲解编写loadrunner的ftp脚本详细步骤,及FTP函数注释,及FTP脚本两种编写方式,手动和录制.亲测 No problem!^_^ 1.首先要了解loadrunner中几个 ...

  6. 【工具】读取proprtties工具类

    获取properties内容: 基本的使用看网络上大多是这样的,使用时注意线程安全以及读写的实时性问题. 1.直接通过流读取(反射): InputStream inStream =  this.get ...

  7. Java上机题(封装)(编写student类)

    今天帮大一的童鞋写Java上机题 题目虽然很简单,但是刚拿到题目的时候愣了一下,然后就疯狂get set QuQ 其实这是一个特别基本的封装的题目(之前实验室面试大二的时候竟然还有蛮多人不知道封装的概 ...

  8. DFS(二):骑士游历问题

    在国际象棋的棋盘(8行×8列)上放置一个马,按照“马走日字”的规则,马要遍历棋盘,即到达棋盘上的每一格,并且每格只到达一次.例如,下图给出了骑士从坐标(1,5)出发,游历棋盘的一种可能情况. [例1] ...

  9. Linux权限_用户_和用户组

    Linux中用户UID就判断操作系统中用户的身份. Centos7.x: 0:超级管理员 1-999:系统用户(包含Linux中自带服务) 1000以上   普通用户 Centos6.x : Root ...

  10. flask请求上下文 (转)

    本篇阅读目录 一.flask中的CBV 二.werkzeug + 上下文初步解读 三.偏函数和线程安全 回到顶部 一.flask中的CBV 对比django中的CBV,我们来看一下flask中的CBV ...