java jdbc 连接数据库查询数据库元信息

2020-04-21  本文已影响0人  riverlcn

所谓的元信息,就是数据库实例有多少数据库,数据库有多少张表,每张表什么字段等等信息.

连接数据库实例

通常情况下,我们都是连接具体的数据库,但有些时候(比如ETL配置过程中,查询数据库实例里,有多少数据库),我们需要
连接数据库实例,不指定具体的数据库名称,连接的jdbc字符串为 jdbc:mysql://host:port,当然这种连接是支持查询数据库的,需要带上数据库,e.g. select * from dbname.table

statement 种类及区别

我们可以通过类似如下代码,连接数据库

String url = "jdbc:mysql://localhost:3306/demo";
Connection conn = DriverManager.getConnection(url, "root", "");

然后通过conn.createStatement(), conn.prepareStatement(...),conn.prepareCall(...) 获取Statement,然后在执行对应的SQL,获取的Statements, PreparedStatement, CallableStatement 有什么区别?

Class 功能 特点
Statement 用于执行静态的SQL,即SQL中不接收参数 执行过程中,编译SQL;不可以在SQL中使用?设置值;不可以用于读写二进制数据(例如图片)
PreparedStatement 执行预编译的SQL,在执行过程中,可以接收参数 Statement 执行快,因为只需编译一次,可以多次执行;可以使用 ? 符号替换需要的值;可用于读取二进制值;可阻止SQL注入攻击,因为特殊字符会被转义
CallableStatment 执行数据库中的存储过程

Read More >>

数据库元信息

通过数据库连接,可以获取数据库的信息

DatabaseMetaData md = conn.getMetaData();

DatabaseMetaData有如下方法可以使用:

上一篇下一篇

猜你喜欢

热点阅读