Java数据库导入:简单易懂的教程分享 (怎从java中导入数据库)
随着互联网技术和数据的快速发展,数据库已经成为了存储和管理数据的必选工具。而Java作为一门高效、强大的编程语言,也是广泛应用于企业级应用系统中的重要技术。
在Java开发中,数据库操作是必不可少的,而数据的导入又是数据库操作中非常常见的一个功能。本文将分享Java数据库导入的简单易懂的教程,帮助Java开发者更好地实现数据的导入功能。
1.选择合适的数据库
在进行Java数据库导入前,我们需要选择一个合适的数据库。MySQL是比较常用的开源数据库,SQLite是一个轻量级的关系型数据库,PostgreSQL是高级对象关系型数据库。这些数据库都可以用于Java数据库开发,但因为我的开发环境中有MySQL,所以这里以MySQL为例。
2.编写Java代码
在进行数据导入时,我们需要编写一段代码来实现数据导入的功能。代码的编写涉及到Java语言的输入输出、数据库连接、SQL语句的执行等知识点。下面是一份Java数据库导入的基本代码示例:
“`
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class ImportDataDemo {
public static void mn(String[] args) {
String url = “jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false”;
String user = “root”;
String password = “123456”;
String sql = “insert into user(name, age, sex) values(?, ?, ?)”;
String filePath = “d:\\data.xlsx”;
try {
Class.forName(“com.mysql.jdbc.Driver”);
Connection conn = DriverManager.getConnection(url, user, password);
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, “张三”);
ps.setInt(2, 20);
ps.setString(3, “男”);
ps.execute();
ps.close();
conn.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
“`
上面的代码演示了如何向MySQL数据库中的一张user表中插入一条数据(包括姓名、年龄、性别)。其中,url是数据库的连接地址,user和password是数据库的用户名和密码,filePath是数据文件的路径。我们可以按照具体的需求进行修改。
3.导入Excel文件
数据导入的方式有多种,最常见的是导入Excel文件。如果要导入Excel文件,我们可以使用Apache POI这个开源库来读取Excel文件中的数据,具体实现可以参考以下代码:
“`
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Date;
import java.util.Iterator;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
public class ImportExcelDemo {
public static void mn(String[] args) {
String url = “jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false”;
String user = “root”;
String password = “123456”;
String sql = “insert into user(name, age, sex) values(?, ?, ?)”;
String filePath = “d:\\data.xls”;
try {
Class.forName(“com.mysql.jdbc.Driver”);
Connection conn = DriverManager.getConnection(url, user, password);
Workbook workbook = new HSSFWorkbook(new FileInputStream(filePath)); //读取Excel文件
Sheet sheet = workbook.getSheetAt(0); //获取之一个工作表
Iterator rowIterator = sheet.rowIterator(); //获取行迭代器
while (rowIterator.hasNext()) { //迭代每一行
Row row = rowIterator.next();
Iterator cellIterator = row.cellIterator(); //获取单元格迭代器
String name = “”;
int age = 0;
String sex = “”;
while (cellIterator.hasNext()) { //迭代每一个单元格
Cell cell = cellIterator.next();
int columnIndex = cell.getColumnIndex();
switch (columnIndex) { //根据单元格所在的列进行不同的操作
case 0:
name = cell.getStringCellValue();
break;
case 1:
if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC && DateUtil.isCellDateFormatted(cell)) {
Date date = cell.getDateCellValue();
age = date.getYear() – 1900;
} else {
age = (int) cell.getNumericCellValue();
}
break;
case 2:
sex = cell.getStringCellValue();
break;
}
}
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, name);
ps.setInt(2, age);
ps.setString(3, sex);
ps.execute();
ps.close();
}
workbook.close(); //关闭工作簿
conn.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
“`
上面的代码演示了如何从Excel文件中读取数据,并将数据插入到MySQL数据库的user表中。其中,我们使用了Apache POI这个开源库来读取Excel文件,可以根据需要选择读取.xls或者是.xlsx格式的Excel文件。
4.结语