java 生成sql脚本_java导出insert语句并生成sql脚本
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脚本相关推荐
- mysqldump导出insert语句
记录下mysql导出insert语句,不带注释,不带Set变量,不带表结构等等乱七八糟的多余信息,仅仅剩下光滑纯洁的insert语句. mysqldump -u root -p --set-gtid- ...
- python生成sql文件_Python 数据库Insert语句脚本生成工具(SQL Server)
编写这个小工具,是因为平时部署项目的时候,需要导出一些公共的数据(权限.参数设置等),覆盖插入正式环境. 话不多说,直接上代码: import pyodbc import warnings impor ...
- db2 如何导出insert语句_实用技术:MYSQL特别实用的几种SQL语句送给大家,让你的SQL高大上...
整理自公众号:[程序员闪充宝] 在写SQL时,经常灵活运用一些SQL语句编写的技巧,可以大大简化程序逻辑.减少程序与数据库的交互次数,有利于数据库高可用性,同时也能显得你的SQL很牛B,让同事们眼前一 ...
- mysql 导出insert 语句_mysqldump导出sql中insert语句的问题
mysqldump导出sql中insert语句的问题 今天有同事问,mysqldump怎么样才能够将导出的sql中,每条记录对应一个insert语句,默认总是导出一个长的insert语句,如下所示: ...
- java 导出word换行_Java 导出数据库表信息生成Word文档
一.前言 最近看见朋友写了一个导出数据库生成word文档的业务,感觉很有意思,研究了一下,这里也拿出来与大家分享一波~ 先来看看生成的word文档效果吧 下面我们也来一起简单的实现吧 二.Java 导 ...
- db2 如何导出insert语句_《MySQL 入门教程》第 23 篇 DML 语句之插入数据
文章来源:https://blog.csdn.net/horses/article/details/108287687 原文作者:不剪发的Tony老师 来源平台:CSDN 数据库的基本操作包括增.删. ...
- Node.js 将Json文件数据转为SQL可执行的insert语句
要转换的json数据 [{"id": "1","name": "张三","height": &quo ...
- java excel sheet页_Java导出Excel Sheet页
1.问题背景 导出Excel表格时,首先要生成Sheet页,下面将介绍如何生成Sheet页 2.实现源码 /** * * @Project: * @Title:ExcelExport.java * @ ...
- SQL SERVER | 错误处理 INSERT 语句与 FOREIGN KEY SAME TABLE 约束“FK__Course__Cpno__276EDEB3“冲突。(补充)
项目平台: SQL SERVER 2019 问题描述: 插入语句时受约束,报错: 消息 547,级别 16,状态 0,第 42 行 INSERT 语句与 FOREIGN KEY SAME TABLE ...
最新文章
- Linux驱动程序编写
- CVPR2019 | 斯坦福学者提出GIoU,目标检测任务的新Loss
- SPAdes混合组装二代、三代测序数据
- windows 下架设svn服务器(转载)
- 工业用微型计算机笔记(13)-指令系统(8)
- RVDS4.0上开发cortex A8 NEON程序
- Web Form中的Datagrid的自定义分页
- Orm框架介绍和常见的Android Orm框架
- .net Framework各个版本之间的发展
- javaScript今日总结
- “智慧灯杆”的应用和解决方案
- Windows XP SP3支持多用户远程桌面连接
- linux操作系统2试题,RedHat Linux 9.0 操作系统测试题2
- post get mysql_jQuery – AJAX get() 和 post() 方法 | 菜鸟教程
- CSS 盒模型之外边距 margin属性
- Valine+Leancloud搭建评论模块
- like not like 优化
- 万字长文带你回顾Java集合框架
- Maven镜像源汇总(含国内、国外)
- CATIA软件VBA二次开发:Excel文件中点坐标数据导入与生成点应用程序编写