java查询数据库中表的所有列

15 篇文章 1 订阅

 1 实现过程

通过与数据库建立连接,并且配合

ResultSetMetaData resultSetMetaData=resultSet.getMetaData();

来查询列的名字

2 实现代码

import org.junit.jupiter.api.DynamicTest;
import org.junit.jupiter.api.Test;

import java.sql.*;

public class test {
    @Test
    public void findColumn() throws  Exception {
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        Connection
        ct= DriverManager.getConnection("jdbc:sqlserver://10.11.11.22:1433;DatabaseName=11111","1111","11111");
        Statement statement=ct.createStatement();
        //创建一个类
        ResultSet resultSet=  statement.executeQuery("select * from _test1_fff where 1=2");
        //遍历循环对象
        ResultSetMetaData resultSetMetaData=resultSet.getMetaData();
        for(int i=0;i<resultSetMetaData.getColumnCount();i++)
        {
            String columnname=resultSetMetaData.getColumnName(i+1);
            //获取列名称
            String column=resultSetMetaData.getColumnLabel(i+1);
            System.out.println("列的名称为"+columnname+"相关名称为"+column);
        }




    }
}

pom.xml

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.example</groupId>
  <artifactId>testkown</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>testkown Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>
  <repositories>
    <repository>
      <id>clojars</id>
      <url>http://clojars.org/repo/</url>
    </repository>
  </repositories>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.microsoft.sqlserver</groupId>
      <artifactId>sqljdbc4</artifactId>
      <version>4.0</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
      <version>RELEASE</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
      <version>RELEASE</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>

  <build>
    <finalName>testkown</finalName>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

 

3 实现结果

  

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中,可以使用JDBC API来获取数据库中所有表和字段的信息。以下是一个示例代码: ```java import java.sql.*; public class DatabaseMetaDataExample { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/mydatabase"; String user = "myuser"; String password = "mypassword"; try (Connection conn = DriverManager.getConnection(url, user, password)) { DatabaseMetaData metaData = conn.getMetaData(); // 获取所有表的信息 ResultSet tables = metaData.getTables(null, null, "%", new String[]{"TABLE"}); while (tables.next()) { String tableName = tables.getString("TABLE_NAME"); System.out.println("Table name: " + tableName); // 获取表中所有的信息 ResultSet columns = metaData.getColumns(null, null, tableName, "%"); while (columns.next()) { String columnName = columns.getString("COLUMN_NAME"); String columnType = columns.getString("TYPE_NAME"); int columnSize = columns.getInt("COLUMN_SIZE"); System.out.println("Column name: " + columnName + ", Type: " + columnType + ", Size: " + columnSize); } columns.close(); } tables.close(); } catch (SQLException e) { e.printStackTrace(); } } } ``` 上述代码中,使用JDBC连接到MySQL数据库,并使用DatabaseMetaData获取数据库中所有表和字段的信息。通过调用`getTables()`方法可以获取所有表的信息,然后遍历结果集获取每个表的名称。接着,使用调用`getColumns()`方法获取每个表中所有的信息,然后遍历结果集获取每个的名称、类型和大小。最后在控制台输出表和的信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值