/** * insert [调用入口]<br/> * 执行前根据主键生成器补充主键值,执行完成后会补齐自增主键值 * @param runtime 运行环境主要包含驱动适配器 数据源或客户端 * @param random 用来标记同一组命令 * @param dest 表 如果不提供表名则根据data解析,表名可以事实前缀<数据源名>表示切换数据源 * @param data 需要插入入的数据 * @param columns 需要插入的列,如果不指定则根据data或configs获取注意会受到ConfigTable中是否插入更新空值的几个配置项影响 * 列可以加前缀<br/> * +:表示必须插入<br/> * -:表示必须不插入<br/> * ?:根据是否有值<br/> * * 如果没有提供columns,长度为0也算没有提供<br/> * 则解析obj(遍历所有的属性工Key)获取insert列<br/> * * 如果提供了columns则根据columns获取insert列<br/> * * 但是columns中出现了添加前缀列,则解析完columns后,继续解析obj<br/> * * 以上执行完后,如果开启了ConfigTable.IS_AUTO_CHECK_METADATA=true<br/> * 则把执行结果与表结构对比,删除表中没有的列<br/> * @return 影响行数 */