• Mapper 中方法:
int insert(@Param("tableName") String tableName,@Param("user") User user);
  • Mybatis xml 代码 :
<insert id="insert" parameterType="com.ihuaqiang.spring.bean.User">insert into ${tableName} (id,name,pass,sex) values(#{user.id,jdbcType=INTEGER},#{user.name,jdbcType=VARCHAR},#{user.pass,jdbcType=VARCHAR},#{user.sex,jdbcType=INTEGER})
</insert>
  • parameterType可加可不加,百度搜索的方案这里加上
statementType="STATEMENT"
  • generator生成的mapper.xml文件中,还有一种是这样的:insertSelective
  • insert对你注入的字段全部更新(不判断是否为Null),insertSelective会对字段进行判断再更新(如果为Null就忽略更新)
  • mapper中的方法是一样的,Xml文件:
<insert id="insertSelective" parameterType="com.ihuaqiang.spring.bean.User">insert into ${tableName}<trim prefix="(" suffix=")" suffixOverrides=","><if test="user.id != null">id,</if><if test="user.name != null">name,</if><if test="user.pass != null">pass,</if><if test="user.sex != null">sex,</if></trim><trim prefix="values (" suffix=")" suffixOverrides=","><if test="user.id != null">#{user.id,jdbcType=INTEGER},</if><if test="user.name != null">#{user.name,jdbcType=VARCHAR},</if><if test="user.pass != null">#{user.pass,jdbcType=VARCHAR},</if><if test="user.sex != null">#{user.sex,jdbcType=INTEGER},</if></trim>
</insert>

Mybatis 动态表名,插入数据相关推荐

  1. mybatis动态表名,列名

    @Overridepublic Integer handleAlarmBatchRecovery(Map<String, Object> paramMap) {String idStrin ...

  2. mybatis获取表名_mybatis plus 的动态表名的配置详解

    mybatis plus简介 详见mybatis plus的官网 业务要求 业务上要求存储数据的时候根据某个字段动态的选择数据要存储的表. 如根据code字段: code->[1001,1002 ...

  3. MybatisPlus:SQL语句打印、SQL分析、自定义主键值策略填充(IdType.INPUT)、动态表名、多租户、枚举、类型处理器、连表自定义SQL(使用wrapper)

    文章目录 1. 简单使用以及配置 - 带分页配置 2. 用法 2.0 Wrapper属性 2.1 @TableId - 自定义主键生成策略 2.2 @TableField - 自定义字段值填充 2.3 ...

  4. MyBatis-Plus动态表名插件使用

    一.MyBatis-Plus动态表名插件使用 官方文档-动态表名插件:https://baomidou.com/pages/2a45ff/#dynamictablenameinnerintercept ...

  5. MyBatis-Plus 实体类实现动态表名

    项目中使用了 MyBatis-Plus 简化开发,在项目中,对数据库表的操作,可以通过在数据表实体类中添加@TableName("table_name") 来指定该实体所对应的表, ...

  6. mybatis向mysql数据库插入数据时,中文乱码显示为?解决方法

    mybatis向mysql数据库插入数据时,中文乱码显示为?解决方法 1.先查看库.表.表字符字段的编码格式.MySQL默认的库和表的字符编码都是latin1,而我们一般需要使用 utf8 //先查看 ...

  7. talend同步mysql_Talend可以为MySQL输出使用动态表名吗?

    (用于数据集成的Talend OS) 可以使用动态表名吗?我已经研究了用户手册中的所有资源,尽管它们似乎都没有明确排除它,但我似乎无法使其正常工作. 情境 假设您有一个由1,000,000个名字组成的 ...

  8. mysql 有外键 怎么插入数据_外键约束的表怎么插入数据

    有外键的情况应该先添加主表数据,再添加副表数据. 如:有以下两张表 班级表: CLASSID NAME 1 一班 2 二班 学生表: SID NAME CLASSID 1 张三 1 2 李四 1 3 ...

  9. 存在的hive插入数据_往hive表中插入数据以及导出数据

    转载:https://blog.csdn.net/qq_26442553/article/details/80380590 转载:https://blog.csdn.net/weixin_436817 ...

最新文章

  1. web播放器(falsh,audio)
  2. Bochs调试Linux内核5 - 启动过程调试 - 认识Bootsect.S
  3. 了解冒泡排序选择排序
  4. 【吉比特】G-bits2017技术类岗位编程题
  5. 使用ifconfig取出网卡eth0的ip地址
  6. 吊打奔驰宝马!这个又贵又丑的“玩具”,为何让男人集体高潮?
  7. css 样式(checkbox开关、css按钮)
  8. ARKit玩起来 - AR卡通秀-史小川-专题视频课程
  9. android 自定义锁屏api,Android锁屏小部件
  10. 人生如逆旅,我亦是行人。—第五天
  11. 第一次尝试miniprogram-automator
  12. docker搭建企业级habor仓库
  13. 章节1 计算机体系结构
  14. flash服务器停止响应,shockwave flash 未响应解决方法,shockwave flash已经崩溃解决方法...
  15. 重装系统服务器不识别u盘,重装系统时BIOS不识别U盘启动盘如何解决?
  16. 作业盒子端AndrOid,作业盒子小学老师端
  17. 大数据实时监控mysql数据库binlog(一)
  18. 一个ABC眼中的中国创业环境
  19. Windows+Ubuntu-18.04双系统装机指南
  20. 安装虚拟机Ubuntu 18.04基础配置

热门文章

  1. sh mysql configure_【翻译自mos文章】使用config.sh/config.bat来configureorre-con
  2. 1、Fiddler的基本介绍
  3. telnet服务器怎么配置文件,配置telnet服务器
  4. [ExtJS6]Combobox的值的绑定
  5. Chrome无法打开文件的错误 [Not allowed to load local resource: file://XXXX]
  6. php min命令,php min函数怎么用 - min
  7. c语言指针选择排序1,求助利用指针进行选择排序
  8. php 实现类似asp.net中的datagridview效果,asp.net中使用DatagridView的增删改方法具体实现...
  9. php 设置页面内容具有缓存性,php header()设置页面Cache缓存
  10. C++ unordered_map