【发布时间】:2012-12-22 01:39:38
【问题描述】:
我正在使用 MySql 构建一个数据库,我想用数据填充它。使用 Java 填充其表格的最佳方法是什么。
【问题讨论】:
-
“MySQL java 连接器”是什么意思?
-
下面的答案告诉你我所说的连接器是什么意思。
我正在使用 MySql 构建一个数据库,我想用数据填充它。使用 Java 填充其表格的最佳方法是什么。
【问题讨论】:
您可以使用 JDBC 连接器将应用程序连接到 MySQL。如果您没有 JDBC 连接器,则可能需要下载。
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("localhost", username, password);
String sql = "select * from table_name";
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql);
您可以使用rs.getString(1) 返回第一列中的数据,并使用rs.getString(2) 从第二列中返回数据,依此类推...
如果第一列中的值是字符串,则使用 rs.getString(),如果是 int,则使用 rs.getInt(),其他数据类型也类似。良好的 Google 搜索将为您提供其他选择。
如果您要执行 insert 声明,则必须将 stmt.executeQuery(sql) 替换为 stmt.executeUpdate(sql)
这里有两个很好的教程可以帮助你入门
【讨论】:
LOAD DATA INFILE 通常是导入批量数据的最快方式。
LOAD DATA INFILE已经覆盖了。
Spring JDBC 中有 ResourceDatabasePopulator。它可以从外部资源中定义的 SQL 脚本填充数据库。准备一个带有 INSERT 语句的脚本并从 Java 中运行它
Connection conn = ...
ResourceDatabasePopulator dbp = new ResourceDatabasePopulator();
dbp.addScript(new FileSystemResource("test.sql"));
dbp.populate(conn);
【讨论】: