/*
*在导入数据之前,如果你是window 7用户,请将mysql的配置做如下修改,负责很可能导入数据失败,
*/
//第一步,找到mysql安装路径下的my.ini文件
//第二步,打开my.ini文件,在最后一行做如下配置,等号后边的路径由你自己定,但是请注意,最好是一个不含中文的路径,且是空文件夹
//3.创建数据库的表结构,如下图,也可参阅如下表创建语句创建
//表创建语句
/*
CREATE TABLE student
(
id
INT(11) NOT NULL AUTO_INCREMENT,
name
VARCHAR(20) NOT NULL COMMENT ‘姓名’,
age
TINYINT(3) UNSIGNED DEFAULT NULL COMMENT ‘年龄’,
gender
TINYINT(3) UNSIGNED DEFAULT NULL COMMENT ‘性别,1男,0女’
PRIMARY KEY (id
)
) CHARSET=utf8
*/
//4.创建与数据库表结构相对应的excel数据文件,且放在第二步配置中的路径下
//5.复制如下代码(记得导入mysql数据库的驱动包,不然肯定失败),请更改如下代码中testImportDataByExcel()方法中sql语句中包含的路径为你自己的excel数据文件的路径,执行main方法即可
//参考的数据库驱动包
//mysql-connector-java-5.1.7-bin.jar
package com.ilike.excelimportdata;
import java.sql.DriverManager;
import java.sql.SQLException;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
/**
* 通过jdbc的方式,把excel文件中的数据导入数据库,此类可以当做工具类使用
*
* @ClassName ExcelImportDataTest
* @Description
*
* @author 桑伟东
* @date 2017-10-21 下午2:59:08
*
*/
public class ExcelImportDataTest {
// 创建静态全局变量
static Connection conn;
static Statement st;
public static void main(String[] args) {
testImportDataByExcel();
}
public static void testImportDataByExcel() {
conn = getConnection(); //同样先要获取连接,即连接到数据库
try {
String sql = “LOAD DATA INFILE ‘D:/tmp/sql/student.excel’ INTO TABLE student”;// 更新数据的sql语句
st = (Statement) conn.createStatement(); //创建用于执行静态sql语句的Statement对象,st属局部变量
st.execute(sql);
conn.close(); //关闭数据库连接
} catch (SQLException e) {
System.out.println("更新数据失败");
}
}
/* 获取数据库连接的方法*/
public static Connection getConnection() {
Connection con = null; //创建用于连接数据库的Connection对象
try {
Class.forName("com.mysql.jdbc.Driver");// 加载Mysql数据驱动
con = (Connection) DriverManager.getConnection(
"jdbc:mysql://localhost:3306/mydatabase", "root", "root");// 创建数据连接
} catch (Exception e) {
System.out.println("数据库连接失败" + e.getMessage());
}
return con; //返回所建立的数据库连接
}
}