⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 databaseinfotest.java

📁 Java 2实用编程百例,一些比较实用的J2SE小程序,可以通过这些程序熟悉JAVA基础知识
💻 JAVA
字号:
package ch03.section08;

//Properties对象定义在util包中
//导入JDBCAPI
import java.sql.*;
import java.util.*;

public class DatabaseInfoTest {
  public static void main(String args[]) {
    //指定数据源
    String url = "jdbc:odbc:test";

    //声明连接对象
    Connection con;

    //声明数据库元数据对象
    DatabaseMetaData dmd;

    //声明结果集对象存储数据库信息
    ResultSet rs;

    try {
      //指定驱动程序名称
      String driverName = "sun.jdbc.odbc.JdbcOdbcDriver";
      //装载驱动程序
      Driver driver = (Driver) Class.forName(driverName).newInstance();

      //检测驱动程序是否正确装入
      if (driver == null) {
        System.out.println("驱动程序装入不成功");
      }
      else {
        System.out.println("驱动程序装入成功");
      }

    }
    catch (Exception e) {
      System.err.println(e.getMessage());
    }

    try {
      //添加用户名和密码
      Properties conn_prp = new Properties();
      conn_prp.put("user", "sa");
      conn_prp.put("password", "sa");

      //获取与指定数据源连接的连接对象
      con = DriverManager.getConnection(url, conn_prp);
      if (con == null) {
        System.out.println("数据库连接不成功!");
      }
      else {
        System.out.println("数据库连接成功!");
      }

      //取消自动提交模式
      con.setAutoCommit(false);

      //创建数据库元数据对象
      dmd = con.getMetaData();

      //获取数据库模式信息
      rs = dmd.getSchemas();
      System.out.println("--数据库模式信息--");
      while (rs.next()) {
        rs.getString("TABLE_SCHEM");
      }
      rs.close();

      //获取数据库包含的表
      rs = dmd.getTables("", "", "", null);
      System.out.println("--database table list--");
      while (rs.next()) {
        rs.getString("TABLE_NAME");
      }
      rs.close();

      //获取数据库包含的存储过程
      rs = dmd.getProcedures("", "", "");
      System.out.println("--database procedure list--");
      while (rs.next()) {
        rs.getString("PROCEDURE_NAME");
      }
      rs.close();

      //获取数据库对应的URL
      String surl = dmd.getURL();
      System.out.println("database URL is " + surl);

      //获取当前连接数据库的用户
      String suser = dmd.getUserName();
      System.out.println("database user is " + suser);

      //判断数据库是否支持事务
      if (dmd.supportsTransactions()) {
        System.out.println("database support transaction");
      }
      else {
        System.out.println("database don't support transaction");
      }

      //判断数据库是否支持外部连接
      if (dmd.supportsOuterJoins()) {
        System.out.println("database support OuterJoin");
      }
      else {
        System.out.println("database don't support OuterJoin");
      }

      //判断数据库是否支持GroupBy语句
      if (dmd.supportsGroupBy()) {
        System.out.println("数据库支持GroupBy语句");
      }
      else {
        System.out.println("数据库不支持GroupBy语句");
      }

      //获取数据库表可包含的最大列数
      int num = dmd.getMaxColumnsInTable();
      System.out.println("数据库表可包含的最大列数是 " + num);

      //关闭连接
      con.close();

    }
    catch (SQLException ex) {

    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -