当前位置:网站首页>jdbc接口文档参考,jdbc接口方法逻辑探究
jdbc接口文档参考,jdbc接口方法逻辑探究
2022-08-11 05:28:00 【秋天已北】
jdbc 接口测试
package com.lqz.testjava;
import java.sql.*;
public class TablePrintStructure {
public static void main(String[] args) throws Exception {
// String driver = "com.mysql.cj.jdbc.Driver";
String driver = "org.postgresql.Driver";
// String url = "jdbc:mysql://localhost:3306/book_sc?serverTimezone=GMT";
String url = "jdbc:postgresql://192.168.0.130:5432/test_db";
String user = "user_name";
String password = "pass_word";
printTableStructure(driver, url, user, password);
}
/** * 打印所有表结构 * * @param driver driver * @param url url * @param user user * @param password password * @throws Exception exception */
private static void printTableStructure(String driver, String url, String user, String password) throws Exception {
Class.forName(driver);
Connection connection = DriverManager.getConnection(url, user, password);
System.out.println(connection);
DatabaseMetaData metaData = connection.getMetaData();
System.out.println(metaData);
// 获取所有表
ResultSet tableResultSet = metaData.getTables(
null,
null,
"test%",
new String[]{
"TABLE"});
System.out.println(tableResultSet.toString());
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery("select * from test_tab");
System.out.println("---" + rs.getClass());
while (tableResultSet.next()) {
String tableName = tableResultSet.getString("TABLE_NAME");
System.out.println("table:" + tableName);
// 获取表字段结构
ResultSet columnResultSet = metaData.getColumns(null, "%", tableName, "%");
while (columnResultSet.next()) {
// 字段名称
String columnName = columnResultSet.getString("COLUMN_NAME");
// 数据类型
String columnType = columnResultSet.getString("TYPE_NAME");
// 字段长度
int datasize = columnResultSet.getInt("COLUMN_SIZE");
// 小数部分位数
int digits = columnResultSet.getInt("DECIMAL_DIGITS");
// 是否可为空 1代表可空 0代表不可为空
int nullable = columnResultSet.getInt("NULLABLE");
// 描述
String remarks = columnResultSet.getString("REMARKS");
System.out.println(columnName + " " + columnType + " " + datasize + " " + digits + " " + nullable + " " + remarks);
}
System.out.println("=================================");
}
}
}
参考微软的接口文档可以学习
如下方法可以找到接口组装的语法内容
详细sql
SELECT NULL AS TABLE_CAT,
NULL AS TABLE_SCHEM,
c.relname AS TABLE_NAME,
CASE c.relname ~ '^pg_'
WHEN true THEN CASE c.relname ~ '^pg_toast_'
WHEN true THEN CASE c.relkind
WHEN 'r' THEN 'SYSTEM TOAST TABLE'
WHEN 'i' THEN 'SYSTEM TOAST INDEX'
ELSE NULL END
WHEN false THEN CASE c.relname ~ '^pg_temp_'
WHEN true THEN CASE c.relkind
WHEN 'r' THEN 'TEMPORARY TABLE'
WHEN 'i' THEN 'TEMPORARY INDEX'
ELSE NULL END
WHEN false THEN CASE c.relkind
WHEN 'r' THEN 'SYSTEM TABLE'
WHEN 'v' THEN 'SYSTEM VIEW'
WHEN 'i' THEN 'SYSTEM INDEX'
ELSE NULL END
ELSE NULL END
ELSE NULL END
WHEN false THEN CASE c.relkind
WHEN 'r' THEN 'TABLE'
WHEN 'i' THEN 'INDEX'
WHEN 'S' THEN 'SEQUENCE'
WHEN 'v' THEN 'VIEW'
ELSE NULL END
ELSE NULL END AS TABLE_TYPE,
NULL AS REMARKS
FROM pg_class c
WHERE true
AND c.relname LIKE 'test%'
AND (false OR (c.relkind = 'r' AND c.relname !~ '^pg_'))
ORDER BY TABLE_TYPE, TABLE_NAME
自定义sql语句
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery("select * from test_tab");
返回结果可以参考 SQLServerResultSet 关键字结果
SQLServerResultSet
返回结果引用信息方法及变量名查找
边栏推荐
猜你喜欢
STM32学习总结(二)——GPIO
华为云IOT平台设备获取api调用笔记
智能风控中台设计与落地
Day 87
Error: Flash Download failed - “Cortex-M4“-STM32F4
OpenMLDB v0.5.0 released | Performance, cost, flexibility reach new heights
Vscode远程连接服务器终端zsh+Oh-my-zsh + Powerlevel10 + Autosuggestions + Autojump + Syntax-highlighting
JVM调优整理
物联网IOT 固件升级
使用ActiveReports制作第一张报表
随机推荐
js写四位随机数能有多少种可能性?并列出所有可能性
scanf函数在混合接受数据(%d和%c相连接)时候的方式
产品如何拟定优化方案?
栈stack
华为IOT设备消息上报和消息下发验证
OpenMLDB Pulsar Connector: Efficiently connect real-time data to feature engineering
js学习进阶BOM部分(pink老师笔记)
物联网基础知识学习
字节(byte)和位(bit)
127.0.0.1 已拒绝连接
实时特征计算平台架构方法论和基于 OpenMLDB 的实践
第四范式OpenMLDB优化创新论文被国际数据库顶会VLDB录用
Tinker接入全流程---编译篇
产品版本号是如何确定的
C语言中switch的嵌套
Js method commonly used objects and attributes
Regular expression replacement for batch quick modification code
Open Source Machine Learning Database OpenMLDB Contributor Program Fully Launched
Promise 中状态改变和回调执行先后顺序 和promise多次回调
论文解读TransFG: A Transformer Architecture for Fine-grained Recognition