SSM+mysql动态建表及检查数据库表是否存在及动态表批量插入数据

校验表是否存在:

 

dao层:

/**
 * @Method 校验表是否存在,若存在则大于0,不存在则返回0
 * @Author MC

 * @Return
 * @Date 2019/10/15 0015 15:58
 */
Integer existTable(String tableName);

 

xml文件:



 

动态创建表:

 

dao层:

/**
 * @Method 根据表名创建im_msg_log_*表
 * @Author MC

 * @Return
 * @Date 2019/10/15 0015 16:00
 */
void createIMMsgLogTable(@Param("tableName")String tableName);

xml:


   CREATE TABLE ${tableName} (
      `id` varchar(32) NOT NULL COMMENT '系统生成全局唯一ID',
      `a` varchar(50) DEFAULT NULL COMMENT 'aaa',
      `b` varchar(10) DEFAULT NULL COMMENT '请求类型 ',
      `c` varchar(12) DEFAULT NULL COMMENT '时间',
      PRIMARY KEY (`id`)
   ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='消息记录';

 

对动态表进行批量数据插入:

dao层:

/**
 * @Method 插入IMMsgList表
 * @Author MC

 * @Return
 * @Date 2019/10/15 0015 16:41
 */
void insertIMMsgListTable(@Param("tableName")String tableName,@Param("list")List entity);

xml:


   INSERT INTO ${tableName}
   
      id,
      msg_seq,
      msg_random
   
   VALUES
   
      (
      #{item.id},
      #{item.msgSeq},
      #{item.msgRandom}
      )
   

你可能感兴趣的:(javaweb,mybatis动态建表,mysql动态建表,mysql检查表是否存在,动态表批量插入)