




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
导出insertsql语句import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException;import java.sql.Statement;import java.sql.Types;import java.util.ArrayList;import java.util.List;public class Test private static Connection conn=null;private static Statement sm = null;private static String schema=FJSTL;/模式名private static String select=SELECT * FROM;/查询sqlprivate static String insert=INSERT INTO;/插入sqlprivate static String values=VALUES;/values关键字private static String table=T_USER;/table数组private static List insertList=new ArrayList();/全局存放insertsql文件的数据private static String filePath=E:/insertSQL.txt;/绝对路径 导出数据的文件/* * 导出数据库表 * param args * throws SQLException */public static void main(String args) throws SQLException List listSQL=new ArrayList();connectSQL(oracle.jdbc.driver.OracleDriver, xxx.xxx.xxx, xxx, xxx);/连接数据库listSQL=createSQL();/创建查询语句executeSQL(conn,sm,listSQL);/执行sql并拼装createFile();/创建文件/* * 创建insertsql.txt并导出数据 */private static void createFile() File file=new File(filePath);if(!file.exists()try file.createNewFile(); catch (IOException e) System.out.println(创建文件名失败!);e.printStackTrace();FileWriter fw=null;BufferedWriter bw=null;try fw = new FileWriter(file);bw = new BufferedWriter(fw);if(insertList.size()0)for(int i=0;iinsertList.size();i+)bw.append(insertList.get(i);bw.append(n); catch (IOException e) e.printStackTrace();finallytry bw.close();fw.close(); catch (IOException e) e.printStackTrace();/* * 拼装查询语句 * return 返回select集合 */private static List createSQL() List listSQL=new ArrayList();for(int i=0;itable.length;i+)StringBuffer sb=new StringBuffer();sb.append(select).append( ).append(schema).append(.).append(tablei);listSQL.add(sb.toString();return listSQL;/* * 连接数据库 创建statement对象 * param driver * param url * param UserName * param Password */public static void connectSQL(String driver,String url,String UserName,String Password)tryClass.forName(driver).newInstance();conn = DriverManager.getConnection(url, UserName, Password);sm=conn.createStatement();catch(Exception e)e.printStackTrace();/* * 执行sql并返回插入sql * param conn * param sm * param listSQL * throws SQLException */public static void executeSQL(Connection conn,Statement sm,List listSQL) throws SQLExceptionList insertSQL=new ArrayList();ResultSet rs=null;try rs = getColumnNameAndColumeValue(sm, listSQL, rs); catch (SQLException e) e.printStackTrace();finally rs.close(); sm.close(); conn.close();/* * 获取列名和列值 * param sm * param listSQL * param rs * return * throws SQLException */private static ResultSet getColumnNameAndColumeValue(Statement sm,List listSQL, ResultSet rs) throws SQLException if(listSQL.size()0)for(int j=0;jlistSQL.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)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(,);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)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(,);elseColumnValue.append(value).append(,);elseColumnName.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)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(,);elseColumnValue.append(value).append(,); System.out.println(ColumnName.toString();System.out.println(ColumnValue.toString();insertSQL(ColumnName, ColumnValue);return rs;/* * 拼装insertsql 放到全局list里面 * param ColumnName * param ColumnValue */private static void insertSQL(StringBuffer ColumnName,StringBuffer ColumnValue) for(int i=0;itable.length;i+)StringBuffer insertSQL=new StringBuffer()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 区块链技术在智慧物流中的运用与效益
- 肿瘤的发生机制与治疗
- 区块链技术在智能合约的突破性影响
- 区块链在跨境电商供应链中的应用与挑战
- 2025至2030中国航空租赁行业运营动态与未来需求研究报告
- 旅游个人述职报告范文(3篇)
- 简短的教师个人述职报告2025(素材下载7篇)
- 区块链技术助力办公自动化重塑信任与安全
- 办公健康管理中的医保服务模式创新
- Unit1-Using-Language-公共课课件(二)
- 2025年陕西省土地工程建设集团有限责任公司招聘笔试参考题库附带答案详解
- 2024广西公务员【申论A卷、C卷+2023申论A卷】共3套真题及答案
- 《多样的中国民间美术》课件 2024-2025学年人美版(2024)初中美术七年级下册
- 人教版 七年级 下册 语文 第四单元《青春之光》课件
- 2024物业管理数字化升级服务合同
- 灌浆作业安全操作规程(3篇)
- 药品追回管理制度内容
- 二战时期的中国抗日战争
- 35kv变电站设备安装工程施工设计方案
- 煤炭清洁高效利用对策
- DB32-T 4174-2021 城市居住区和单位绿化标准
评论
0/150
提交评论