<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. Storm —— 集群环境搭建

    一.集群规划 这里搭建一个3节点的Storm集群:三台主机上均部署Supervisor和LogViewer服务.同时为了保证高可用,除了在hadoop001上部署主Nimbus服务外,还在hadoop ...

  2. linux 下 设置 MySQL8 表名大小写不敏感方法,解决设置后无法启动 MySQL 服务的问题

    在安装完成之后,初始化数据库之前,修改 my.cnf 打开mysql配置文件 vim /etc/my.cnf 在尾部追加一行 lower_case_table_names=1 并保存,然后再初始化数据 ...

  3. 计算广告之CTR预测--PNN模型

    论文为:Product-based Neural Networks for User Response Prediction 1.原理 给大家举例一个直观的场景:比如现在有一个凤凰网站,网站上面有一个 ...

  4. mysql数据库在linux下的导出和导入及每天的备份

    mysql数据库的导出,导入 1. 导出数据库为sql文件 mysqldump 数据库名 -uroot -p > xxx.sql 导出数据表结构和数据 eg.   mysqldump cloud ...

  5. Docker安装nacos1.0.0固定ip单机模式

    1 从dockerHub拉取镜像到本地 docker pull nacos/nacos-server:1.0.0 2 创建目录(宿主机) 2.1 日志目录 mkdir -p /docker/nacos ...

  6. IDEA中Maven依赖包下载不了的问题解决方案汇总

    第一种方案: 第二种方案:下面的几个不要选择. 第三种方案:可能是某一个 dependency 依赖无法下载,导致整个项目都报错 打开具体的报错的maven项目的pom.xml.试着去删除一些 dep ...

  7. Codeforces Gym101518H:No Smoking, Please(最小割)

    题目链接 题意 给出一个n*m的酒店,每个点是一个房间,要将这个酒店的房间划分成为两块(一块无烟区,一块吸烟区),相邻的两个房间之间有一条带权边,权值代表空气锁的面积,如果把这条边给去掉,那么需要花费 ...

  8. PostgreSQL 窗口函数 ( Window Functions ) 如何使用?

    一.为什么要有窗口函数 我们直接用例子来说明,这里有一张学生考试成绩表testScore: 现在有个需求,需要查询的时候多出一列subject_avg_score,为此科目所有人的平均成绩,好跟每个人 ...

  9. Bzoj 2318 Spoj4060 game with probability Problem

    2318: Spoj4060 game with probability Problem Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 524  Sol ...

  10. 聊聊C语言的预编译指令include

    "include"相信大家不会陌生,在我们写代码时,开头总会来一句"include XXX".include是干嘛用的,很多教材都提到了,因此这里不会再详细解释 ...