使用JDBC connect获取数据库表结构信息
Posted 大佬健
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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"); } }
执行结果
以上是关于使用JDBC connect获取数据库表结构信息的主要内容,如果未能解决你的问题,请参考以下文章
javaWeb_JDBC_利用反射以及JDBC元数据编写通用的查询方法
kafka jdbc sink连接器抛出org.apache.kafka.connect.errors.DataException(结构模式的字段名称未正确指定)插入PG表
myBatis连接MySQL报异常:No operations allowed after connection closed.Connection was implicitly closed(示例代