package com.foodproject.sqlimport;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Properties;
public class CVSFileLoad {
// 用于获取数据库的连接
private static Connection conn;
public static Connection getConn() {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(
"jdbc:mysql://192.168.1.2:3306/test", "root", "123456");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
// 设置CVS一些基本的配置信息,并根据sql查询出所有.CVS中的内容
public static ResultSet getCVSConn(String name) {
ResultSet rs = null;
try {
Class.forName("org.relique.jdbc.csv.CsvDriver");
// 设置一些属性
Properties props = new java.util.Properties();
props.put("separator", ","); // 确定分隔符
props.put("suppressHeaders", "true"); // 设置是否包含首行,false为首行为标题,true首行为内容,默认为false
props.put("fileExtension", ".csv"); // 文件类型.csv
props.put("charset", "utf-8"); // 设置编码,这里非常重要的,如果读取是非二进制文件那么需要设置成unicode
conn = DriverManager.getConnection("jdbc:relique:csv:D:\\CVS\\",
props);
// 获取Statement语句(Statement 对象用于将 SQL 语句发送到数据库中)
Statement stmt = conn.createStatement();
rs = stmt.executeQuery("select * from " + name);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rs;
}
//判断对象是否为空
private static Object isNull(Object obj) {
if (obj.equals("\\N")) {
return null;
}
return obj;
}
//判断打印的时候是否输出为null
public String print(Object obj) {
if (obj.equals("\\N")) {
return ","+null;
}
return ""+",'" + obj + "'"+"";
}
//打印SQL语句
public void printSql() {
ResultSet rs = getCVSConn("gf_dish");
try {
while (rs.next()) {
String sql ="insert into tb_dish values (" +rs.getObject(1) + print(rs.getObject(2))
+ print(rs.getObject(3)) + print(rs.getObject(4))
+ print(rs.getObject(5)) + print(rs.getObject(6))
+ print(rs.getObject(7)) + print(rs.getObject(8))
+ print(rs.getObject(9)) + print(rs.getObject(10))
+ print(rs.getObject(11)) + print(rs.getObject(12))
+ print(rs.getObject(13)) + print(rs.getObject(14))+","+null+");";
System.out.println(sql);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
//public void testSql()
//{
//conn = getConn(); // 获取数据库连接
//PreparedStatement ps = conn.prepareStatement(sql); // 预编译语句
//}
public void test() {
ResultSet rs = getCVSConn("gf_dish");// 输入.cvs的文件名,不要拓展名
String sql = "insert into gf_dish values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";// 插入数据表的语句
conn = getConn(); // 获取数据库连接
try {
PreparedStatement ps = conn.prepareStatement(sql); // 预编译语句
while (rs.next()) {
// System.out.println(rs.getString(1) + " " + rs.getString(2)
// + " " +isNull(rs.getString(3)));//测试代码
ps.setObject(1, isNull(rs.getString(1)));//因为数据类型不确定,所以设置为Object
ps.setObject(2, isNull(rs.getString(2)));
ps.setObject(3, isNull(rs.getString(3)));
ps.setObject(4, isNull(rs.getString(4)));
ps.setObject(5, isNull(rs.getString(5)));
ps.setObject(6, isNull(rs.getString(6)));
ps.setObject(7, isNull(rs.getString(7)));
ps.setObject(8, isNull(rs.getString(8)));
ps.setObject(9, isNull(rs.getString(9)));
ps.setObject(10, isNull(rs.getString(10)));
ps.setObject(11, isNull(rs.getString(11)));
ps.setObject(12, isNull(rs.getString(12)));
ps.setObject(13, isNull(rs.getString(13)));
ps.setObject(14, isNull(rs.getString(14)));
ps.setObject(15, null);
ps.executeUpdate();
System.out.println("数据更新成功!");
}
} catch (NumberFormatException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new CVSFileLoad().printSql();
}
}
相关推荐
EasyExcel 并发读取文件字段并进行校验,数据写入到新文件,批量插入数据到数据库 demo
我们需要一个Java应用程序,该应用程序将使用CSV文件,解析数据并将其插入到SQLite内存数据库中。 一种。 表X有10列A,B,C,D,E,F,G,H,I,J,它们与CSV文件列标题名称相对应。 b。 在提交的存储库中包括所有...
jakarta-oro.jar commons-net-1.4.1.jar 博文链接:https://firezhfox.iteye.com/blog/1913128
将 IMDB 转储解析为 CSV 和关系数据库插入查询使用来自: : IMDB 转储 要求 Python 3.x 配置 所有配置数据都保存在idp/settings.py.example 您需要将此文件复制为settings.py并在运行项目之前编辑此文件 cd idp cp...
您正在研究一种产品,该产品会接收CSV格式的潜在大文件,对其进行处理并将其数据导入我们的数据库。 但是,提供程序并不都使用相同的列布局。 提供程序之间的顺序可能有所不同,它们可能仅发送列的子集,或者它们...
能够导出数据(单表/多表/查询结果)到多种数据文件格式:CSV files, Excel files, XML, HTML, SQL insert statements and fixed width files.并可以选择integer, date, time, timestamp, and boolean的模板来格式化...
数据可以通过 CSV 返回或插入到 MySQL 数据库中。 如果您只需要一个月的历史天气,请考虑使用加拿大环境部的默认 ?format=csv 选项。 但是,除了其 SQL 功能之外,该脚本还可以将日期范围内的所有观察结果拼接到一...
ProJob 是一个 Windows 服务,它允许您定义 ftp 连接、sql 连接、邮件...等)、处理它们(读取、解析)、插入到表格中一个sql server,自动将进程信息作为邮件发送。 https://sourceforge.net/p/projob/wiki/Home/
XLSX / CSV文件处理服务描述该服务接受.xlsx或.csv格式的文件作为输入,将其解析为Pandas DataFrame结构(读取时,可以使用表头指定行的索引),对表进行预处理(如果需要)(识别日期,重命名表列,设置列数据类型...
能够导出数据(单表/多表/查询结果)到多种数据文件格式:CSV files, Excel files, XML, HTML, SQL insert statements and fixed width files.并可以选择integer, date, time, timestamp, and boolean的模板来格式化...
能够导出数据(单表/多表/查询结果)到多种数据文件格式:CSV files, Excel files, XML, HTML, SQL insert statements and fixed width files.并可以选择integer, date, time, timestamp, and boolean的模板来格式化...
CSV到Mongo工具快速将csv文件导入MongoDB数据库。 要求: Node.js v10.xx npm mongodb用法示例 cd path/to/csv-to-mongo-toolnpm installMONGO_URI=mongodb://localhost/petdb CSV_FILE=mypets.csv MODEL_NAME=Pets ...
能够导出数据(单表/多表/查询结果)到多种数据文件格式:CSV files, Excel files, XML, HTML, SQL insert statements and fixed width files.并可以选择integer, date, time, timestamp, and boolean的模板来格式化...
10.4.2. 同一表中查询多列数据 10.4.3. 多表联合查询 10.4.4. WHERE条件 10.4.5. GROUP BY分句 10.4.6. HAVING 条件 10.4.7. ORDER BY 分句 10.4.8. 通过总数和偏移量进行LIMIT限制 10.4.9. 通过页数和总数...
我已经包含了将结果插入数据库所需的文件,但这些脚本仍在构建中。 如果您经常运行搜索,您的 IP 地址最终将被阻止。 我必须建议您仅将此脚本用于个人用途,使用此脚本来获利可能会违反 Yellowpages.com 的使用条款...
一组具有多种病历数据格式的解析器,并结合了Riak数据库的导入器。 Erlang / OTP库用于处理数据(包括HL7格式的日本本地标准)和。 该工具包包括: 通过SS-MIXed HL7解析器,转换器和进口商导入Riak 电插座解析...
数据来源于百度百科,scrapy爬虫目录在scripts/univer/目录下 然后将数据存储到neo4j中 对问题进行解析 通过actree得到实体,关键字得到问题类型,给出答案。 使用步骤 1 环境,个人python3.6.8, centos系统(阿里云...
数据明智的 WISE全天数据发布的数据导入器 免责声明:正在进行中 columns.csv具有 WISE 数据的元数据 感谢解析列名!... 这应该将所有的治疗像素插入到您命名的 POSTGRES 数据库中并打印出来。 ra/dec 到 he
–要解析的CSV的名称--create_table –这将导致建立PostgreSQL users表(将不采取进一步的措施) --dry_run –如果我们要运行脚本但不插入数据库,它将与--file指令一起使用。将执行所有其他功能,但不尝试连接...
该应用程序旨在使用CSV文件,解析数据并将有效记录插入SQLite数据库。 1.使用应用程序: 要成功执行此代码,您需要执行以下操作: a)安装以下Python库(如果尚未安装): b)将Excel文件与python文件放在同一...