jdbc获取数据库所有表名以及表字段

fun connectDb() {
    Class.forName("com.mysql.jdbc.Driver")
    val url = "jdbc:mysql://xxx:3306/xxx?user=xxx&password=xxx"
    val conn = DriverManager.getConnection(url)

    val md = conn.metaData
    val rs = md.getTables(null, null, "%", null)
    while (rs.next()) {
        //表名
        val tableName = rs.getString(3)
        println("开始扫描表 '$tableName'")
        val statement = conn.createStatement()
        val results = statement.executeQuery("SELECT * FROM $tableName limit 0")
        val metadata = results.metaData
        val columnCount = metadata.columnCount
        for (i in 1..columnCount) {
            val columnName = metadata.getColumnName(i);
            print(columnName)
            print(", ")
        }
        println()
    }
    conn.close()
}

fun main(args: Array<String>) {
    connectDb()
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值