• DatabaseMataDataResultSetMetaData数据元数据使用


    package com.atguigu.jdbc;

    import java.sql.Connection;
    import java.sql.DatabaseMetaData;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;

    import org.junit.Test;

    public class MetaDataTest {
    /**
    * DatabaseMetaData是描述数据库的元数据对象 可以由Connection得到
    */
    @Test
    public void testDatabassMetaData() {
    Connection connection = null;
    ResultSet resultSet=null;
    try {
    connection = JDBCTools.getConnection();
    DatabaseMetaData data = connection.getMetaData();
    // 可以得到數據庫本身的一些基本信息
    //数据库版本号
    int i=data.getDatabaseMajorVersion();
    System.out.println(i);
    //数据库已知用户名称
    String userName=data.getUserName();
    System.out.println(userName);
    //mySQL中有哪些数据库
    resultSet=data.getCatalogs();
    while(resultSet.next()){
    System.out.println(resultSet.getString(1));
    }
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    JDBCTools.release(null, null, connection);
    }

    }
    /**
    * 描述结果集的元数据。可以得到结果集中的基本信息:有哪些列,列名、别名等
    */
    @Test
    public void testResultSetMetaData(){
    Connection connection=null;
    PreparedStatement preparedStatement=null;
    ResultSet resultSet=null;
    try{
    connection=JDBCTools.getConnection();
    String sql="select id,name,email,birth from customers";
    preparedStatement=connection.prepareStatement(sql);
    resultSet=preparedStatement.executeQuery();
    //得到了ResultSetMetaData
    ResultSetMetaData resultSetMetaData=resultSet.getMetaData();
    //得到列的个数、列的别名及列名
    for(int i=0;i<resultSetMetaData.getColumnCount();i++){
    String columnLabel=resultSetMetaData.getColumnLabel(i+1);
    System.out.println(columnLabel);
    String columnName=resultSetMetaData.getColumnName(i+1);
    System.out.println(columnName+":"+columnLabel);
    }
    }catch(Exception e){
    e.printStackTrace();
    }finally{
    JDBCTools.release(resultSet, preparedStatement, connection);
    }

    }
    }

  • 相关阅读:
    input输入框的各种样式
    Spring JdbcTemplate方法详解
    TF/IDF计算方法
    分布式日志收集系统--Chukwa
    分布式日志系统
    Iframe知识点
    拖拽事件
    面向对象知识点
    JS使用合并数组
    块元素block,内联元素inline; inline-block;
  • 原文地址:https://www.cnblogs.com/xiaona19841010/p/5202776.html
Copyright © 2020-2023  润新知