数据库 元数据

package com.itheima.test;

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ParameterMetaData;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;

import org.junit.Test;

import com.itheima.utils.C3P0Util;

/**
 * 元数据:
 *        数据库元数据
 *       参数元数据
 *       结果集元数据
 * @author wangli
 *
 */
public class MetaDataTest {

    @Test  //数据库元数据
    public void testDataBase(){
        Connection con = null;
        Statement st = null;
        try {
            con = C3P0Util.getConneciton();

            //获取数据库元数据
            DatabaseMetaData dmd = con.getMetaData();
            //元数据中包含的数据库名,数据库版本信息
            String productName = dmd.getDatabaseProductName();//元数据中包含的数据库名
            String version = dmd.getDatabaseProductVersion();//得到版本
            System.out.println(productName+","+version);

        } catch (SQLException e) {
            e.printStackTrace();
        }finally{
            C3P0Util.release(null, st, con);
        }
    }
    @Test   //数据库元数据
    public void testParameterMetaData(){
        Connection con = null;
        PreparedStatement st = null;
        try {
            con = C3P0Util.getConneciton();
            st = con.prepareStatement("insert into account values(?,?,?)");
            //st = con.prepareStatement("?????");

            ParameterMetaData pmd = st.getParameterMetaData();//用于获取参数元数据对象

            //获取元数据 : 参数个数
            int count = pmd.getParameterCount();
            System.out.println(count+"");

        } catch (SQLException e) {
            e.printStackTrace();
        }finally{
            C3P0Util.release(null, st, con);
        }
    }

    @Test   //结果集元数据
    public void testResultSetMetaData(){
        Connection con = null;
        PreparedStatement st = null;
        ResultSet rs = null;
        try {
            con = C3P0Util.getConneciton();
            st = con.prepareStatement("select * from account");
            rs  = st.executeQuery();

            //取出结果集元数据对象
            ResultSetMetaData rsmd = rs.getMetaData();

            //得到列数
            int count = rsmd.getColumnCount();//得到了列数
            for (int i = 1; i <=count; i++) {
                //得到每列列名
                String columnName= rsmd.getColumnName(i);
                //得到列的类型
                String columnType = rsmd.getColumnTypeName(i);

                System.out.println(columnName+":"+columnType);
            }

        } catch (SQLException e) {
            e.printStackTrace();
        }finally{
            C3P0Util.release(rs, st, con);
        }
    }
}
时间: 2024-12-16 15:12:42

数据库 元数据的相关文章

mysql中,如何查看数据库元数据(metadata)的字符集?

需求描述: mysql中,数据库的元数据也是有字符集的. 操作过程: 1.查看mysql数据库元数据的字符集 mysql> show variables like 'character_set_system'; +----------------------+-------+ | Variable_name | Value | +----------------------+-------+ | character_set_system | utf8 | +-------------------

数据库元数据MetaData

本篇介绍数据库方面的元数据(MetaData)的有关知识.元数据在建立框架和架构方面是特别重要的知识,再下一篇我们仿造开源数据库工具类DbUtils就要使用数据库的元数据来创建自定义JDBC框架. 在我们前面使用JDBC来处理数据库的接口主要有三个,即Connection,PreparedStatement和ResultSet这三个,而对于这三个接口,还可以获取不同类型的元数据,通过这些元数据类获得一些数据库的信息. 元数据(MetaData),即定义数据的数据.打个比方,就好像我们要想搜索一首

数据库元数据分析Demo

核心类:DatabaseMetaData.ResultSetMetaData 1 System.err.println("**********************************"); 2 Connection conn=DataSourceUtils.getDataSource().getConnection(); 3 DatabaseMetaData dbmd=conn.getMetaData();//获取结果集conn的信息,如字段名,字段数等 4 ResultSet

配置管理数据库元数据文件

在前两年的工作中主要参与了配置管理数据库(CMDB)系统的设计与开发,在设计与开发过程中遇到了不少数据相关的问题,正好借此机会说明一下. 配置管理项以及实体的问题.配置管理系统中不同的配置项拥有不同的配置属性,不同的配置实体可以从属于某一个属性.如果一概而论那么所有的配置项将会构成一个大而全的表,该表在开发过程中会带来很大的冗余.所以必须在表设计阶段进行分化,分化方式经历了三个阶段,分别是表继承.属性图谱.配置分配三个阶段. 表继承表示在使用过程中,不同类型的配置项之间可能沿用之前父类中继承的属

查询数据库元数据

SELECT table_name, column_name, column_comment, data_type, column_typeFROM information_schema. COLUMNSWHERE TABLE_SCHEMA = 'ssr'ORDER BY TABLE_NAME, ORDINAL_POSITION 原文地址:https://www.cnblogs.com/huanghuanghui/p/9017862.html

java获取数据库数据表的元数据

Connction conn; DatabaseMetaData dmd=conn.getMetaData();//获取数据库元数据 PreparedStatment ps; ps.getParameterMetaData; //得到参数占位符的元数据 ResultSet rs; ResultSetMetaData rsmd=rs.getMetaData();//获取结果集的元数据

oracle数据库sql的基本使用

整理了下关于oracle数据库中SQL的基本使用语句,整理如下,方便记忆. oracle的基本术语 数据字典,数据库元数据信息的数据字典表和用户可以读取的数据字典视图组成.存放oracle数据库所用的有关信息.通过数据字典可以查看数据表和用户的一些信息. 数据文件,一个oracle数据可以拥有一个或多个物理的数据文件,一个数据文件只对于一个数据库 表空间,存储的逻辑结构,是组织数据和进行空间分配的逻辑结构.简单点,表空间就是一个或者多个数据文件的集合,所有的数据文件都被逻辑的存放在指定的表空间中

关于Android SQLite数据库后台处理的小例子

首先我先创建一个包(package)entity 1 package com.example.sqlgameplayer.entity; 2 3 /** 4 * Created by 徐伟杰 on 2016/9/25. 5 * 游戏玩家的实体类 6 */ 7 8 public class GamePlayer { 9 private int id; 10 private String player; 11 private int score; 12 private int level; 13 p

MySQL的4个系统数据库介绍

MYSQL在一定程度有些东西和SQL Server相似,另一方面很多东西又与Oracle有相似的东西;今天分享下和SQL Server稍微相似的数据库管理方式,即数据库的方式管理数据库. 1. INFORMATION_SCHEMA数据库:此数据库提供了访问数据库元数据的方式. 元数据是关于数据的数据,如database name或table name,列的数据类型,或访问权限等.有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”.例如:mysql> SELECT table_name