使用JDBC connect获取数据库表结构信息

1、这是生成代码的关键

引入maven依赖

   <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.30</version>
        </dependency>

2、编写JAVA类

package com.yyj.mybties.jdbc;

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 * 获取数据库中表的结构
 */
public class JDBCdemo {
    public static void main(String[] args) {
    String driver = "com.mysql.jdbc.Driver";
    String URL = "jdbc:mysql://localhost:3306/mybase";
    Connection con = null;
    List<String> tableNames = new ArrayList();
    try {
        con= DriverManager.getConnection(URL,"root","");
        getTableInfo(con,"users");
    } catch(Exception e) {
        System.out.println("Connect fail:" + e.getMessage());
    }
}
    private static void getTableInfo(Connection con,String tableName) throws SQLException {
        DatabaseMetaData metaData = con.getMetaData();
        ResultSet colRet = metaData.getColumns(null, "%", tableName, "%");
        String columnName;
        String columnType;
        while(colRet.next()){
            columnName = colRet.getString("COLUMN_NAME");
            columnType = colRet.getString("TYPE_NAME");
            int datasize = colRet.getInt("COLUMN_SIZE");
            int digits = colRet.getInt("DECIMAL_DIGITS");
            int nullable = colRet.getInt("NULLABLE");
            System.out.println(columnName+" "+columnType+" "+datasize+" "+digits+" "+ nullable);
        }
        System.out.println("\n");

    }
}

执行结果

原文地址:https://www.cnblogs.com/yeyongjian/p/8972516.html

时间: 2024-11-07 11:34:40

使用JDBC connect获取数据库表结构信息的相关文章

百度地图的使用之获取数据库表中信息的坐标点显示在地图上

//通用封装好的js: var map = new BMap.Map("container"); //建树Map实例 var point = new BMap.Point(103.976032, 33.845509); // 建树点坐标 map.centerAndZoom(point, 6); // 初始化地图,设置中心点坐标和地图级别. //地图事件设置函数: map.enableDragging(); //启用地图拖拽事件,默认启用(可不写) map.enableScrollWhe

自动获取数据库表结构

Python 将sandman包中的自动获取数据库表结构的部分提取出来 包名auto_get_database __init__.py from flask import Flask from flask.ext.sqlalchemy import SQLAlchemy app = Flask(__name__) db = SQLAlchemy(app) models.py from decimal import Decimal from flask import current_app fro

JDBC中获取数据表的信息

摘自:http://blog.chinaunix.net/uid-145458-id-2799926.html 1. JDBC连接MYSQL的代码很标准,很简单.   class.forName("com.mysql.jdbc.Driver").newInstance();   Connection conn = DriverManager     .getConnection("jdbc:mysql://localhost/test?user=root&passwo

sql语句查询数据库表结构信息

开发中经常用到查询指定表及其字段的信息,以下是我整理的SQL语句查询方法,供自己平时使用也提供给大家参考! 1.适用MS SQL SERVER: 1 SELECT 2 表名 = case when a.colorder=1 then d.name else '' end, 3 表说明 = case when a.colorder=1 then isnull(f.value,'') else '' end, 4 字段序号 = a.colorder, 5 字段名 = a.name, 6 标识 = c

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等)

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等) 发布者:唛唛家的豆子 时间:2012-11-20 17:54:02 在JDBCPreparedStatement.executeQuery().getMetaData();后,我们可以通过ResultSetMetaData对象查询返回结果集的源数据信息,也就是表结构信息. 示例代码如下: package astar.sutil.db; import java.sql.Connection; import java.sql.Driv

通过Hibernate配置获取数据库表的具体信息

/** * 通过Hibernate配置获取数据库表的具体信息 * @author 晚风工作室 www.soservers.com * */ 标签: Hibernate [1].[代码] [Java]代码 跳至 [1] ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 5

Oracle获取表结构信息:表名、是否视图、字段名、类型、长度、非空、主键

select a.TABLE_NAME as "TableName", case when (select count(*) from user_views v where v.VIEW_NAME =a.TABLE_NAME )>0 then 'V' else 'U'end as "TableType", a.COLUMN_NAME as "ColumnName", A.COLUMN_ID as "ColumnIndex"

ThinkPHP 数据库表结构处理类(简单实用)

<?php /*  * mysql表结构处理类  * 创建数据表,增加,编辑,删除表中字段  *  */ class MysqlManage{ /*  * 创建数据库,并且主键是aid  * table 要查询的表名  */ function createTable($table){ $sql="CREATE TABLE IF NOT EXISTS `$table` (`aid` INT NOT NULL primary key)ENGINE = InnoDB;"; M()-&g

Activiti工作流引擎数据库表结构

版权声明:本文为博主原创文章,未经博主允许不得转载.不经过允许copy,讲追究法律责任,欢迎加入我们的学习提升群466355109,可以相互交流 数据库表的命名 Acitiviti数据库中表的命名都是以ACT_开头的.第二部分是一个两个字符用例表的标识.此用例大体与服务API是匹配的. l  ACT_RE_*:'RE'表示repository.带此前缀的表包含的是静态信息,如,流程定义,流程的资源(图片,规则等). l  ACT_RU_*:'RU'表示runtime.这是运行时的表存储着流程变量