jdbc获取数据库元数据

package cn.itcast.metadata.test;import org.junit.Before;
import org.junit.Test;import java.sql.*;
import java.util.Properties;/*** 测试数据库元数据*/
public class DataBaseMetaDataTest {private Connection connection;@Beforepublic void init() throws Exception {String driver ="com.mysql.jdbc.Driver";String url="jdbc:mysql://127.0.0.1:3306/ihrm?useUnicode=true&characterEncoding=utf8";String username="root";String password="111111";Properties props = new Properties();props.put("remarksReporting","true");//获取数据库的备注信息props.put("user",username);props.put("password",password);//1.获取连接Class.forName(driver);//注册驱动connection = DriverManager.getConnection(url,props);}/**  //test01 test02@Beforepublic void init() throws Exception {String driver ="com.mysql.jdbc.Driver";String url="jdbc:mysql://127.0.0.1:3306?useUnicode=true&characterEncoding=utf8";String username="root";String password="111111";Properties props = new Properties();props.put("remarksReporting","true");//获取数据库的备注信息props.put("user",username);props.put("password",password);//1.获取连接Class.forName(driver);//注册驱动connection = DriverManager.getConnection(url,props);}
*///获取数据库基本信息@Testpublic void test01() throws Exception {//2.获取元数据DatabaseMetaData metaData = connection.getMetaData();//3.获取数据库基本信息System.out.println(metaData.getUserName());System.out.println(metaData.supportsTransactions());//是否支持事务System.out.println(metaData.getDatabaseProductName());}//获取数据库列表@Testpublic void test02() throws SQLException {//1.获取元数据DatabaseMetaData metaData = connection.getMetaData();//2.获取所有数据库列表ResultSet rs = metaData.getCatalogs();while (rs.next()) {System.out.println(rs.getString(1));}rs.close();connection.close();}//获取指定数据库中的表信息@Testpublic void test03() throws Exception {//1.获取元数据DatabaseMetaData metaData = connection.getMetaData();//2.获取数据库中表信息/*** String catalog, String schemaPattern,String tableNamePattern, String types[]**  catalog:当前操作的数据库*      mysql:*          :ihrm*          catalog*      oralce:*          xxx:1521:orcl*          catalog*   schema:*      mysql:*          :null*      oracle:*          :用户名(大写)**    tableNamePattern:*      null:查询所有表*      为空:查询目标表**    types:类型*      TABLE:表*      VIEW:视图**/ResultSet rs = metaData.getTables(null, null, null, new String[]{"TABLE"});while (rs.next()) {System.out.println(rs.getString("TABLE_NAME"));}}//获取指定表中的字段信息@Testpublic void test04() throws Exception {DatabaseMetaData metaData = connection.getMetaData();//获取表中的字段信息/***  catalog*  schema*  tableName*  columnName*/ResultSet rs = metaData.getColumns(null, null, "bs_user", null);while (rs.next()) {System.out.println(rs.getString("COLUMN_NAME"));}}}

参数集

package cn.itcast.metadata.test;import org.junit.Before;
import org.junit.Test;import java.sql.*;
import java.util.Properties;/*** 测试参数元数据(ParameterMetaData)*      通过PreparedStatement获取*      获取sql参数中的属性信息*/
public class ParameterMetaDataTest {private Connection connection;@Beforepublic void init() throws Exception {String driver ="com.mysql.jdbc.Driver";String url="jdbc:mysql://127.0.0.1:3306/ihrm?useUnicode=true&characterEncoding=utf8";String username="root";String password="111111";Properties props = new Properties();props.put("remarksReporting","true");//获取数据库的备注信息props.put("user",username);props.put("password",password);//1.获取连接Class.forName(driver);//注册驱动connection = DriverManager.getConnection(url,props);}//sql = SELECT * FROM bs_user WHERE id="1063705482939731968"@Testpublic void test() throws Exception {String sql = "select * from bs_user where id=?";PreparedStatement pstmt = connection.prepareStatement(sql);pstmt.setString(1, "1063705482939731968");//获取参数元数据ParameterMetaData metaData = pstmt.getParameterMetaData();int count = metaData.getParameterCount();System.out.println(count);}
}

返回集

package cn.itcast.metadata.test;import org.junit.Before;
import org.junit.Test;import java.sql.*;
import java.util.Properties;/*** 测试结果集元数据(ResultSetMetaData)*      通过ResultSet获取*      获取查询结果的信息*/
public class ResultSetMetaDataTest {private Connection connection;@Beforepublic void init() throws Exception {String driver ="com.mysql.jdbc.Driver";String url="jdbc:mysql://127.0.0.1:3306/ihrm?useUnicode=true&characterEncoding=utf8";String username="root";String password="111111";Properties props = new Properties();props.put("remarksReporting","true");//获取数据库的备注信息props.put("user",username);props.put("password",password);//1.获取连接Class.forName(driver);//注册驱动connection = DriverManager.getConnection(url,props);}@Testpublic void test() throws Exception {//sqlString sql = "select * from bs_user where id=?";//PreparedStatementPreparedStatement pstmt = connection.prepareStatement(sql);pstmt.setString(1, "1063705482939731968");//查询ResultSet rs = pstmt.executeQuery();//获取结果集元数据ResultSetMetaData metaData = rs.getMetaData();//获取查询字段个数int count = metaData.getColumnCount();for(int i =1;i<=count ;i++) {//获取列名String columnName = metaData.getColumnName(i);//获取字段类型 sql类型String columnType = metaData.getColumnTypeName(i);//获取java类型String columnClassName = metaData.getColumnClassName(i);System.out.println(columnName+"--"+columnType+"---"+columnClassName);}}}

jdbc获取数据库元数据,获取数据库列表,获取数据库基本信息,获取指定数据库中的表信息,获取指定表中的字段信息相关推荐

  1. python获取数据库查询的元数据_Python数据库、MySQL存储引擎、使用分区表、更改表结构、获取数据库元数据...

    :1. 数据库基本操作 1.1 创建数据库 - CREATE DATABASE test; #创建数据库 - GRANT ALL ON test.* to user(s); #为指定用户(或所有用户) ...

  2. 浅析ado.net获取数据库元数据信息

    写这个文章源于早先对ADO.Net获取数据库元数据上的认识,去年我在阅读ADO.Net Core Reference的时候曾经注意过DataSet的FillSchema的这个方法.这方面,在我之前的随 ...

  3. MySQL获取数据库元数据相关命令:DESC、SHOW、INFORMATION_SCHEMA、mysqlshow、mysqldump

    MySQL提供了多种获取数据库元数据(即有关数据库的信息与它里面的各种对象)的方式: DESC/EXPLAIN用来查看表信息 各种SHOW语句,例如SHOW DATABASES或SHOW TABLES ...

  4. mysql 别名 metadata_获取数据库元数据:DatabaseMetaData与ParameterMetaData与ResultSetMetaData...

    (1)Meta-Data:关于数据的数据,在此是有关数据库和数据库表等数据库对象的信息: 通过Connection的getMetaData()方法获得包含数据库元数据的DatabaseMetaData ...

  5. c 获取mysql列数据_转 用C API 操作MySQL数据库

    用C API 操作MySQL数据库 参考MYSQL的帮助文档整理 这里归纳了C API可使用的函数,并在下一节详细介绍了它们.请参见25.2.3节,"C API函数描述". 函数 ...

  6. Paging3、Room使用,1、从本地Room数据库加载 2、直接网络获取数据加载 3、网络访问数据到Room数据库再加载 4、封装使用

    目录 1.从本地Room数据库加载数据 viewmodel fragment中使用 页面 数据库相关 2.直接网络获取数据加载 3.网络访问数据到Room数据库再加载数据 自定义RemoteMedia ...

  7. php获取表单后如何保存到数据库中,php – 如何将数据从HTML表单保存到WordPress中的数据库表?...

    我有一个WordPress主题,我正在尝试将数据从 HTML表单保存到数据库中. 我创建了HTML表单并添加了一个"save& close"按钮,该按钮调用名为saveDa ...

  8. 关于C#中使用SQLDMO来获取数据库中的一些操作

    首先添加SQLDMO的引用 1:通过SQLDMO来获取可用的网络数据库(区域网当中) public static List<string> get可用SQL服务器()       {    ...

  9. mysql查询数据库第一条记录_SQL获取第一条记录的方法(sqlserver、oracle、mysql数据库)...

    Sqlserver 获取每组中的第一条记录 在日常生活方面,我们经常需要记录一些操作,类似于日志的操作,最后的记录才是有效数据,而且可能它们属于不同的方面.功能下面,从数据库的术语来说,就是查找出每组 ...

最新文章

  1. Android 实时文件夹
  2. log4j的使用方法
  3. 面下个对象 多态特性
  4. linux下拒绝用户登录,Linux系统用户管理之禁止用户登录
  5. ubuntu重置面板
  6. 堆排序工具类(适用于top k问题,java泛型实现)
  7. Mycat适合场景及不适合场景
  8. 从0开始html前端页面开发_CSS实现设置背景图自适应屏幕大小
  9. android游戏boss坐标,混沌与秩序2已知boss刷新点分布图详解(已更新到20号boss)...
  10. 国内外大数据经典案例研究
  11. 分享|5G智慧校园顶层设计(附PDF)
  12. java vo层_JAVA3个数据层(pojo,dto,vo)、dao层、services层、controller层解释
  13. 《微观经济学新论》读书笔记
  14. WNMP项目环境部署
  15. 谷歌扩展工具下载网址---最新
  16. python 赌场掷骰子游戏
  17. 选择进入IT行业,会后悔吗?
  18. java实验上机实验4机动车
  19. CH32V103_MG996R 舵机驱动
  20. 命令查看主板和CPU温度

热门文章

  1. 在eclispe的类中快速打出main方法
  2. poj2186【利用强连通分量】
  3. stringByReplacingCharactersInRange: withString: 实现字符串删除,替换
  4. 通过实现ServletContextListener接口创建数据库连接池(C3P0方式)
  5. Linux Shell编程(2)——第一个shell程序
  6. unity3d与eclipse集成开发android应用
  7. QQ超市模拟排配2D版 1.08 (XNA4.0)
  8. Reapter 中客户端控件和服务器端控件的选择
  9. WCF中常见的几种Host,承载WCF服务的方法
  10. Nginx+keepalived高可用配置实战