如何使用java中的csv包将数据导入自己已经定义好的数据库。现在已经定义好了一个数据库如下:一个名为mydatabases的数据库,并且创建了一个关系表recruitment,有id、job、salary等属性组。
此时的数据库是空的数据库。
现在进入正题,打开eclipse,使用eclipse连接数据库。首先需要下载一个jbdc并解压,csvjar文件可以到下面的百度网盘下载
链接:https://pan.baidu.com/s/1aZz3OoQjiBj5A6plAcJUYw
提取码:9g5s
下载好文件后按照下面的步骤进行:
创建一个lib文件‘
并将下载好的两个jar包复制粘贴lib中。将两个jar包配置好路径。
下面直接上java代码:
package mySql;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.nio.charset.Charset;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import com.csvreader.CsvReader;
public class ssc {
public static void main(String[] args) throws IOException, SQLException {
Connection conn=DriverManager.getConnection("jdbc:mySql://localhost:3306/mydatabases?serverTimezone=GMT%2B8", "root", "root");
Statement statement=conn.createStatement();
String path="D:\\databases\\IT_shenzhen.csv";
CsvReader reader=new CsvReader(path,',',Charset.forName("gbk"));
String name=new BufferedReader(new FileReader(new File(path))).readLine();
//name就是表格列的名称
reader.readHeaders();
int len=reader.getHeaders().length;
//len表示的是有几个列
while(reader.readRecord()){ //整个while就是为了组装成为 插入语句的形式
String tmp="insert into recruitment_form("+name+")values("+reader.get(0);
for(int i=1;i<len-1;i++){
tmp+=","+"'"+reader.get(i).replaceAll("'", "\\\\'")+"'";
}
tmp+=","+"'"+reader.get(len-1).replaceAll("'", "\\\\'")+"');";
//tmp就是组装好的插入语句,即insert into talble(属性)values(内容);
statement.execute(tmp); //执行插入
}
reader.close();
statement.close();
conn.close();
}
}
代码分为连接数据库、插入数据库两大块。上述图片中第一个箭头是需要连接的数据库名称,如果创建了不同名称的数据库,将这里改为你的数据库名称即可,第二个箭头和第三个箭头是数据库的用户名称和数据库密码。
上述图片中箭头所指是想要导入的数据文件的路径,文件格式是csv。
下述这里是获取数据库里的属性组
上述是要导入的csv文件,使用excel打开文件是如下所示:创建的数据库关系表和文件中的一致。
运行上面的java代码结果:我们使用select语句来查看数据是否成功导入数据库,只选择id这一项输出导入的数据信息。
以上就是使用java导入数据库的全部过程