Java实现MySQL数据库导入

距离上班还有一段时间。现在总结一下如何使用Java语言实现MySQL数据库导入:

首先新建名为test的数据库;

其次执行下面Java代码:

  1. import java.io.File;
  2. import java.io.IOException;
  3. /**
  4. * MySQL数据库导入
  5. *
  6. * @author GaoHuanjie
  7. */
  8. public class MySQLDatabaseImport {
  9. /**
  10. * Java实现MySQL数据库导入
  11. *
  12. * @author GaoHuanjie
  13. * @param hostIP MySQL数据库所在服务器地址IP
  14. * @param userName 数据库用户名
  15. * @param password 进入数据库所需要的密码
  16. * @param importFilePath 数据库文件路径
  17. * @param sqlFileName 数据库文件名
  18. * @param databaseName 要导入的数据库名
  19. * @return 返回true表示导入成功,否则返回false。
  20. */
  21. public static boolean importDatabase(String hostIP, String userName, String password, String importFilePath, String sqlFileName, String databaseName) {
  22. File saveFile = new File(importFilePath);
  23. if (!saveFile.exists()) {// 如果目录不存在
  24. saveFile.mkdirs();// 创建文件夹
  25. }
  26. if (!importFilePath.endsWith(File.separator)) {
  27. importFilePath = importFilePath + File.separator;
  28. }
  29. StringBuilder stringBuilder=new StringBuilder();
  30. stringBuilder.append("mysql").append(" -h").append(hostIP);
  31. stringBuilder.append(" -u").append(userName).append(" -p").append(password);
  32. stringBuilder.append(" ").append(databaseName);
  33. stringBuilder.append(" <").append(importFilePath).append(sqlFileName);
  34. try {
  35. Process process = Runtime.getRuntime().exec("cmd /c "+stringBuilder.toString());//必须要有“cmd /c ”
  36. if (process.waitFor() == 0) {// 0 表示线程正常终止。
  37. return true;
  38. }
  39. } catch (IOException e) {
  40. e.printStackTrace();
  41. } catch (InterruptedException e) {
  42. e.printStackTrace();
  43. }
  44. return false;
  45. }
  46. public static void main(String[] args) throws InterruptedException {
  47. if (importDatabase("172.16.0.127", "root", "123456", "D:\\backupDatabase", "2014-10-14.sql", "GHJ")) {
  48. System.out.println("数据库导入成功!!!");
  49. } else {
  50. System.out.println("数据库导入失败!!!");
  51. }
  52. }
  53. }
上一篇:MySQL Binlog Mixed模式记录成Row格式


下一篇:JavaScript中forEach与each