zoukankan      html  css  js  c++  java
  • ResultSetMetaData和DatabaseMetaData实现数据库中属性,属性值,属性所赋值的获取等


    ----------------------------------------------
    有些类下面代码中有;


    public class Test1 {
    TestDAO t=new TestDAO();

    /*
    * ResultSetMetaData:描述结果集里的元数据。
    * 可以得到结果集里的基本信息:结果集有哪些列,列名,列别名;
    * 结合反射可以得到通用的查询方法
    * */
    @Test
    public void testResultSetMetaData() throws Exception{
    Connection connection=null;
    PreparedStatement preparedStatement=null;
    ResultSet resultSet=null;
    try {
    String sql="select id,name,email,birth from customer ";
    connection=t.getConnection();
    preparedStatement=connection.prepareStatement(sql);
    resultSet=preparedStatement.executeQuery();

    ResultSetMetaData rsmd=(ResultSetMetaData) resultSet.getMetaData();

    //得到列的个数
    int n=rsmd.getColumnCount();
    System.out.println(n);
    for(int i=0;i<n;i++){
    //得到列名
    String columnname=rsmd.getColumnName(i);
    //获取到列的别名
    String columnLabel=rsmd.getColumnLabel(i);
    //得到列的值
    Object columnValues=resultSet.getObject(columnLabel);
    System.out.println(columnname+"--"+columnLabel+":"+columnValues);
    }
    } catch (Exception e) {
    e.printStackTrace();
    }finally {
    t.close(connection, preparedStatement, resultSet);
    }
    }
    /*
    * DatabaseMetaData对象是在Connection对象上获取的,
    * DatabaseMetaData类中提供了很多方法可以获得数据源的信息
    * 了解
    * */

    public void testDatabaseMetaData() throws Exception{
    Connection connection=null;
    ResultSet resultSet =null;
    try {
    connection=t.getConnection();
    DatabaseMetaData data=connection.getMetaData();
    //可以得到数据库的一些基本信息
    //得到数据库的版本号
    int version=data.getDatabaseMajorVersion();
    System.out.println(version);

    //得到连接数据库的用户名
    String user=data.getUserName();
    System.out.println(user);

    //得到mysql中有哪些数据库
    resultSet=data.getCatalogs();
    while(resultSet.next()){
    System.err.println(resultSet.getString(1));
    }
    } catch (Exception e) {
    e.printStackTrace();
    }finally {
    t.close(connection, null, resultSet);
    }
    }
    }

  • 相关阅读:
    码农的自我修养
    工程化编程实战callback接口学习笔记
    eval代码执行漏洞
    CTF_show WEB1通过order排序读取数据库数据(特定场景)
    Python的ico_hash计算脚本
    FOFA网页爬取最新 批量版本
    利用Python爬取fofa网页端数据
    利用Python进行Payload分离免杀
    [Gym101653Q]Number Game
    傅里叶变换
  • 原文地址:https://www.cnblogs.com/lxnlxn/p/5771576.html
Copyright © 2011-2022 走看看