java jdbc创建数据库数据表

野性酷女 2022-10-14 12:59 274阅读 0赞
  1. public boolean createDB() {
  2. // 1.数据库名
  3. String DBName = env;
  4. // 数据库驱动
  5. String mysqlDriver = "com.mysql.jdbc.Driver";
  6. // 数据库地址
  7. String url = "jdbc:mysql://localhost:3306/";
  8. String username = "root";
  9. String password = "123456";
  10. Connection conn = null;
  11. Connection newConn = null;
  12. try {
  13. // 将mysql驱动注册到DriverManager中去
  14. Class.forName(mysqlDriver);
  15. } catch (ClassNotFoundException e) {
  16. e.printStackTrace();
  17. }
  18. try {
  19. // 建表语句
  20. String tableSql = "create table t_user (username varchar(50) not null primary key,"
  21. + "password varchar(20) not null ); ";
  22. // 建库语句
  23. String databaseSql = "create database " + DBName;
  24. // 链接数据库
  25. conn = DriverManager.getConnection(url, username, password);
  26. // 用于执行静态SQL语句并返回其产生的结果的对象
  27. Statement smt = conn.createStatement();
  28. if (conn != null) {
  29. System.out.println("数据库连接成功!");
  30. // 执行建库语句
  31. smt.executeUpdate(databaseSql);
  32. // 链接新建的数据库
  33. newConn = DriverManager.getConnection(url + DBName, username, password);
  34. if (newConn != null) {
  35. System.out.println("已经连接到新创建的数据库:" + DBName);
  36. Statement newSmt = newConn.createStatement();
  37. // 执行建表语句
  38. int i = newSmt.executeUpdate(tableSql);
  39. // DDL语句返回值为0
  40. if (i == 0) {
  41. System.out.println(tableSql + "表已经创建成功!");
  42. }
  43. }
  44. }
  45. } catch (SQLException e1) {
  46. e1.printStackTrace();
  47. }
  48. return true;
  49. }

也可以采用读取.sql文件的形式创建数据库表,把上面建表语句替换如下:

  1. if (newConn != null) {
  2. System.out.println("已经连接到新创建的数据库:" + DBName);
  3. // 找到SQL脚本(.sql文件)
  4. ClassPathResource rc = new ClassPathResource("sqlfile/" + env + ".sql");
  5. EncodedResource er = new EncodedResource(rc, "utf-8");
  6. boolean exists = rc.exists();
  7. // 当.sql文件存在
  8. if (exists == true) {
  9. try {
  10. // 执行该文件
  11. ScriptUtils.executeSqlScript(newConn, er);
  12. } catch (Exception e) {
  13. logger.error("创建数据表失败!", e);
  14. flag = false;
  15. }
  16. } else {
  17. flag = false;
  18. logger.error("该产品的SQL脚本(.sql文件)不存在");
  19. }
  20. }

sqlfile的位置如下:
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,274人围观)

还没有评论,来说两句吧...

相关阅读