All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.ldhai99.easyOrm.tools.DbInfo Maven / Gradle / Ivy

The newest version!
package io.github.ldhai99.easyOrm.tools;

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

public class DbInfo {
    /**
     * 获取指定表的所有列名。
     *
     * @param connection 数据库连接
     * @param tableName  表名
     * @return 列名列表
     * @throws SQLException 如果发生 SQL 错误
     */
    public static List getColumnListNames(Connection connection, String tableName) throws SQLException {
        List columnNames = new ArrayList<>();

        DatabaseMetaData metaData = connection.getMetaData();
        ResultSet columns = metaData.getColumns(null, null, tableName, null);

        while (columns.next()) {
            String columnName = columns.getString("COLUMN_NAME");
            columnNames.add(columnName);
        }

        return columnNames;
    }
    //用于排除主键
    public static List getColumnListNamesExcept(Connection connection, String tableName,String fieled) throws SQLException {
        List columnNames = getColumnListNames(connection,tableName);;

        return listExcept(columnNames,fieled);

    }

    public static String getColumnNames(Connection connection, String tableName) throws SQLException {
        List columnNames=getColumnListNames(connection,tableName);
        return listToString(columnNames);
    }
    public static String getColumnNamesExcept(Connection connection, String tableName,String field) throws SQLException {
        List columnNames=getColumnListNamesExcept(connection,tableName,field);
        return  listToString(columnNames);
    }
    //list转换为字符串
    public static String listToString(List columnNames) throws SQLException {

        // 使用 StringBuilder 和循环将列表转换为逗号分隔的字符串
        StringBuilder commaSeparatedStringBuilder = new StringBuilder();
        for (int i = 0; i < columnNames.size(); i++) {
            commaSeparatedStringBuilder.append(columnNames.get(i));
            if (i < columnNames.size() - 1) {
                commaSeparatedStringBuilder.append(", ");
            }
        }
        return commaSeparatedStringBuilder.toString();
    }

    public static List listExcept(List columnNames, String fieled) throws SQLException {

        Iterator iterator = columnNames.iterator();
        while (iterator.hasNext()) {
            String element = iterator.next();
            if (element.equals(fieled)) {
                iterator.remove();
            }
        }
        return columnNames;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy