insertSQL = new ArrayList();

ResultSet rs = null;

try {

rs = getColumnNameAndColumeValue(sm, listSQL, rs);

} catch (SQLException e) {

e.printStackTrace();

} finally {

rs.close();

sm.close();

conn.close();

}

}

/**

* 获取列名和列值

*

* @return

* @paramsm

* @paramlistSQL

* @paramrs

* @throwsSQLException

*/

private static ResultSet getColumnNameAndColumeValue(Statement sm, List listSQL, ResultSet rs) throws SQLException {

if (listSQL.size() > 0) {

for (int j = 0; j < listSQL.size(); j++) {

String sql = String.valueOf(listSQL.get(j));

rs = sm.executeQuery(sql);

ResultSetMetaData rsmd = rs.getMetaData();

int columnCount = rsmd.getColumnCount();

while (rs.next()) {

StringBuffer ColumnName = new StringBuffer();

StringBuffer ColumnValue = new StringBuffer();

for (int i = 1; i <= columnCount; i++) {

String value = rs.getString(i).trim();

if ("".equals(value)) {

value = "";

}

if (i == 1 || i == columnCount) {

if(i==columnCount){

ColumnName.append(",");

}

ColumnName.append(rsmd.getColumnName(i));

if( i== 1){

if (Types.CHAR == rsmd.getColumnType(i) || Types.VARCHAR == rsmd.getColumnType(i) || Types.LONGVARCHAR == rsmd.getColumnType(i)) {

ColumnValue.append("'").append(value).append("',");

} else if (Types.SMALLINT == rsmd.getColumnType(i) || Types.INTEGER == rsmd.getColumnType(i) || Types.BIGINT == rsmd.getColumnType(i) || Types.FLOAT == rsmd.getColumnType(i) || Types.DOUBLE == rsmd.getColumnType(i) || Types.NUMERIC == rsmd.getColumnType(i) || Types.DECIMAL == rsmd.getColumnType(i)|| Types.TINYINT == rsmd.getColumnType(i)) {

ColumnValue.append(value).append(",");

} else if (Types.DATE == rsmd.getColumnType(i) || Types.TIME == rsmd.getColumnType(i) || Types.TIMESTAMP == rsmd.getColumnType(i)) {

ColumnValue.append("timestamp'").append(value).append("',");

} else {

ColumnValue.append(value).append(",");

}

}else{

if (Types.CHAR == rsmd.getColumnType(i) || Types.VARCHAR == rsmd.getColumnType(i) || Types.LONGVARCHAR == rsmd.getColumnType(i)) {

ColumnValue.append("'").append(value);

} else if (Types.SMALLINT == rsmd.getColumnType(i) || Types.INTEGER == rsmd.getColumnType(i) || Types.BIGINT == rsmd.getColumnType(i) || Types.FLOAT == rsmd.getColumnType(i) || Types.DOUBLE == rsmd.getColumnType(i) || Types.NUMERIC == rsmd.getColumnType(i) || Types.DECIMAL == rsmd.getColumnType(i)|| Types.TINYINT == rsmd.getColumnType(i)) {

ColumnValue.append(value);

} else if (Types.DATE == rsmd.getColumnType(i) || Types.TIME == rsmd.getColumnType(i) || Types.TIMESTAMP == rsmd.getColumnType(i)) {

ColumnValue.append("timestamp'").append(value);

} else {

ColumnValue.append(value);

}

}

} else {

ColumnName.append("," + rsmd.getColumnName(i));

if (Types.CHAR == rsmd.getColumnType(i) || Types.VARCHAR == rsmd.getColumnType(i) || Types.LONGVARCHAR == rsmd.getColumnType(i)) {

ColumnValue.append("'").append(value).append("'").append(",");

} else if (Types.SMALLINT == rsmd.getColumnType(i) || Types.INTEGER == rsmd.getColumnType(i) || Types.BIGINT == rsmd.getColumnType(i) || Types.FLOAT == rsmd.getColumnType(i) || Types.DOUBLE == rsmd.getColumnType(i) || Types.NUMERIC == rsmd.getColumnType(i) || Types.DECIMAL == rsmd.getColumnType(i)|| Types.TINYINT == rsmd.getColumnType(i)) {

ColumnValue.append(value).append(",");

} else if (Types.DATE == rsmd.getColumnType(i) || Types.TIME == rsmd.getColumnType(i) || Types.TIMESTAMP == rsmd.getColumnType(i)) {

ColumnValue.append("timestamp'").append(value).append("',");

} else {

ColumnValue.append(value).append(",");

}

}

}

System.out.println(ColumnName.toString());

System.out.println(ColumnValue.toString());

insertSQL(ColumnName, ColumnValue,table[j]);

}

}

}

return rs;

}

/**

* 拼装insertsql放到全局list里面

* @paramColumnName

* @paramColumnValue

*/

private static void insertSQL(StringBuffer ColumnName, StringBuffer ColumnValue,String tableName) {

StringBuffer insertSQL = new StringBuffer();

insertSQL.append(insert).append(" ").append(schema).append(".")

.append(tableName).append("(").append(ColumnName.toString()).append(")").append(values).append("(").append(ColumnValue.toString()).append(");");

insertList.add(insertSQL.toString());

System.out.println(insertSQL.toString());

}

}

java 生成sql脚本_java导出insert语句并生成sql脚本相关推荐

  1. mysqldump导出insert语句

    记录下mysql导出insert语句,不带注释,不带Set变量,不带表结构等等乱七八糟的多余信息,仅仅剩下光滑纯洁的insert语句. mysqldump -u root -p --set-gtid- ...

  2. python生成sql文件_Python 数据库Insert语句脚本生成工具(SQL Server)

    编写这个小工具,是因为平时部署项目的时候,需要导出一些公共的数据(权限.参数设置等),覆盖插入正式环境. 话不多说,直接上代码: import pyodbc import warnings impor ...

  3. db2 如何导出insert语句_实用技术:MYSQL特别实用的几种SQL语句送给大家,让你的SQL高大上...

    整理自公众号:[程序员闪充宝] 在写SQL时,经常灵活运用一些SQL语句编写的技巧,可以大大简化程序逻辑.减少程序与数据库的交互次数,有利于数据库高可用性,同时也能显得你的SQL很牛B,让同事们眼前一 ...

  4. mysql 导出insert 语句_mysqldump导出sql中insert语句的问题

    mysqldump导出sql中insert语句的问题 今天有同事问,mysqldump怎么样才能够将导出的sql中,每条记录对应一个insert语句,默认总是导出一个长的insert语句,如下所示: ...

  5. java 导出word换行_Java 导出数据库表信息生成Word文档

    一.前言 最近看见朋友写了一个导出数据库生成word文档的业务,感觉很有意思,研究了一下,这里也拿出来与大家分享一波~ 先来看看生成的word文档效果吧 下面我们也来一起简单的实现吧 二.Java 导 ...

  6. db2 如何导出insert语句_《MySQL 入门教程》第 23 篇 DML 语句之插入数据

    文章来源:https://blog.csdn.net/horses/article/details/108287687 原文作者:不剪发的Tony老师 来源平台:CSDN 数据库的基本操作包括增.删. ...

  7. Node.js 将Json文件数据转为SQL可执行的insert语句

    要转换的json数据 [{"id": "1","name": "张三","height": &quo ...

  8. java excel sheet页_Java导出Excel Sheet页

    1.问题背景 导出Excel表格时,首先要生成Sheet页,下面将介绍如何生成Sheet页 2.实现源码 /** * * @Project: * @Title:ExcelExport.java * @ ...

  9. SQL SERVER | 错误处理 INSERT 语句与 FOREIGN KEY SAME TABLE 约束“FK__Course__Cpno__276EDEB3“冲突。(补充)

    项目平台: SQL SERVER 2019 问题描述: 插入语句时受约束,报错: 消息 547,级别 16,状态 0,第 42 行 INSERT 语句与 FOREIGN KEY SAME TABLE ...

最新文章

  1. Linux驱动程序编写
  2. CVPR2019 | 斯坦福学者提出GIoU,目标检测任务的新Loss
  3. SPAdes混合组装二代、三代测序数据
  4. windows 下架设svn服务器(转载)
  5. 工业用微型计算机笔记(13)-指令系统(8)
  6. RVDS4.0上开发cortex A8 NEON程序
  7. Web Form中的Datagrid的自定义分页
  8. Orm框架介绍和常见的Android Orm框架
  9. .net Framework各个版本之间的发展
  10. javaScript今日总结
  11. “智慧灯杆”的应用和解决方案
  12. Windows XP SP3支持多用户远程桌面连接
  13. linux操作系统2试题,RedHat Linux 9.0 操作系统测试题2
  14. post get mysql_jQuery – AJAX get() 和 post() 方法 | 菜鸟教程
  15. CSS 盒模型之外边距 margin属性
  16. Valine+Leancloud搭建评论模块
  17. like not like 优化
  18. 万字长文带你回顾Java集合框架
  19. Maven镜像源汇总(含国内、国外)
  20. CATIA软件VBA二次开发:Excel文件中点坐标数据导入与生成点应用程序编写

热门文章

  1. Unity协程(Coroutine)原理深入剖析再续
  2. 使用Java实现的简单的计算器
  3. Solr 4.3.0 配置Data import handler时出错
  4. sql每一个join都要加on
  5. binutils-2.22编译心得
  6. mysql 利用binlog增量备份,还原实例
  7. win10搭建FTP服务器
  8. AF_UNIX和AF_INET
  9. ES6重点--笔记(转)
  10. 怎么使用jstack精确找到异常代码