zoukankan      html  css  js  c++  java
  • 用Java修改MySQL数据库的引擎

    要修改数据库的引擎 首先该数据库要支持修改的引擎
    编写获取数据源的类(看自己的数据库连接属性对西面的连接做修改)
    本列数据库连接用到单例模式
    单列的必要条件 静态的属性 私有的构造方法 对外公共的获取连接的方法

    package com;
    import Java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    public class DBconn {
     private static String driver = "com.MySQL.jdbc.Driver";
     private static String url = "jdbc:mysql://localhost:3306/nlticket2";
     private static String uname = "root";
     private static String pwd = "";
     private static Connection conn = null;   //静态的属性
     private DBconn() {//私有的构造方法
      super();
     }
     public static Connection getConn() {//对外提供公共的调用连接的方法
      if (conn == null) {
       try {
        Class.forName(driver);
        conn = DriverManager.getConnection(url, uname, pwd);
       } catch (ClassNotFoundException e) {
        e.printStackTrace();
       } catch (SQLException e) {
        e.printStackTrace();
       }
      }
      return conn;
     }
    }
    

    编写修改数据库引擎的方法

    package com;
    import java.sql.Connection;
    import java.sql.DatabaseMetaData;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    public class Tool {
    /**
     * 修改數據庫引擎
     *
     * @param conn
     *            數據庫連接
     * @param engines
     *            修改后的數據庫引擎
     */
    public static void setDatabaseEngines(Connection conn, String engines) {
     try {
      DatabaseMetaData dbmd = conn.getMetaData();
      // 获得所有的表名
      ResultSet rs = dbmd.getTables(null, null, null,
        new String[] { "table" });
      while (rs.next()) {
       // 循环结果集 并執行修改數據庫引擎的sql
       String tname = rs.getString("table_name");
       String sql = "ALTER TABLE " + tname + " type=" + engines;
       conn.createStatement().executeUpdate(sql);
       System.out.println(tname + ": 已修改為 " + engines);
      }
      conn.close();
     } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      // 如果數據庫不支持 engines 在mysql里也執行不了sql 會報錯
      System.out.println("數據庫不支持 " + engines + " 引擎");
     }
    }
    public static void main(String[] args) {
     // 調用上面的方法 將數據庫修改為 INNODB
     setDatabaseEngines(DBconn.getConn(), "INNODB");
    }
    }
    
  • 相关阅读:
    1 python 基础
    php数据几行代码导出到excel(非插件)
    支付宝单笔转账demo (改配置直接用)
    require include 一个隐藏的用法:作用域。
    require include php5中最新区别,百度上好多错的。
    MySQL 普通注册插入优化。
    nginx 下开启pathinfo模式
    微信网页授权demo2
    事务处理不支持的可能程序外问题。
    php5.3中namespace的说明,帮助初次接触namespace的phper快速理解
  • 原文地址:https://www.cnblogs.com/jimloveq/p/10602057.html
Copyright © 2011-2022 走看看