JDBC系列教程之十二:DatabaseMetaData(数据库的元数据信息)和ParameterMetaData(参数的元数据信息)

2019-03-28 00:16|来源: 领悟书生

DatabaseMetaData(数据库的元数据信息)和ParameterMetaData(参数的元数据信息)

l  DatabaseMetaData meta = connection.getMetaData();

l  通过DatabaseMetaData可以获得数据库相关的信息如:数据库版本、数据库名、数据库厂商信息、是否支持事务、是否支持某种事务隔离级别,是否支持滚动结果集等。

DBMD.java

package com.hyneng.jdbc;

import java.sql.DatabaseMetaData;

import java.sql.SQLException;

/**

* 2010-10-08

* @author HuangYineng

*/

public class DBMD {

   public static void main(String[] args) throws  SQLException {

      java.sql.Connection conn = JdbcUtils.getConnection();

      DatabaseMetaData dbmd =  conn.getMetaData();

      System.out.println("db name: " +  dbmd.getDatabaseProductName());

      System.out.println("tx: " + dbmd.supportsTransactions());

      conn.close();

   }

}

l  ParameterMetaData pmd =     preparedStatement.getParameterMetaData();

l  通过ParameterMetaData可以获得参数信息。

ParameterMetaTest.java

package com.hyneng.jdbc;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

/**

* 2010-10-08

* @author HuangYineng

*/

public class ParameterMetaTest {

   public static void main(String[] args) throws  SQLException {

      Object[] params = new Object[] { "hyneng",75f };

      read("select * from user where name=? and  money > ?", params);

   }

   static void read(String sql, Object[]  params) throws SQLException {

      Connection conn = null;

      PreparedStatement ps = null;

      ResultSet rs = null;

      try {

          conn = JdbcUtils.getConnection();

          ps = conn.prepareStatement(sql);

//         ParameterMetaData pmd =  ps.getParameterMetaData();

//         int count = pmd.getParameterCount();

          for (int i = 1; i <= params.length; i++) {

          // System.out.print(pmd.getParameterClassName(i) + "\t");

          // System.out.print(pmd.getParameterType(i) + "\t");

          // System.out.println(pmd.getParameterTypeName(i));

             ps.setObject(i, params[i - 1]);

          }

          rs = ps.executeQuery();

          while (rs.next()) {

             System.out.println(rs.getInt("id") + "\t"

                 + rs.getString("name") + "\t" + rs.getDate("birthday")

                 + "\t" + rs.getFloat("money"));

          }

      } finally {

          JdbcUtils.free(rs, ps,  conn);

      }

   }

}


本文链接:JDBC系列教程之十二:DatabaseMetaData(数据库的元数据信息)和ParameterMetaData(参数的元数据信息),转自请注明:http://www.656463.com/article/816

相关问答

更多

关于数据仓库中的元数据的问题

(1) 技术元数据 技术元数据是存储关于商业智能系统技术细节的数据,是用于开发和管理商业智能系统使用的数据。它主要包括以下信息:商业智能系统结构的描述,包括对数据源、数据转换、抽取过程、数据加载策略以及对目标数据库的定义等内容:还包括数据仓库使用的模式、视图、维度、层次结构、类别和属性的定义,以及立方体的存储模式等信息。 总之,技术元数据提供给系统管理人员和数据仓库开发人员使用,管理人员需要了解操作环境到商业智能环境的映射关系(即ETL数据抽取的映射关系),数据的刷新规则,数据的安全性,数据库优化 ...

数据库教程

初学者使用access 熟悉最基本的表,和表的关系等 然后学习sql server 或 mysql 学习最基本的 T-Sql语句 主要学习是要明白表和表之间的关系,能够组合成业务逻辑数据,同时使用T-Sql进行创建、增加、删除、修改、查找; 后续学习,主要学习T-Sql块的知识比较好。 至于其他数据库:Oracle,DB2等的可以进行了解就好。先把基础(T-sql)掌握,其他的都差不多了,然后看你在工作中的具体,在熟悉该项数据库好点。 希望我的回答能够帮到你~!

数据库教程

初学者使用access 熟悉最基本的表,和表的关系等 然后学习sql server 或 mysql 学习最基本的 T-Sql语句 主要学习是要明白表和表之间的关系,能够组合成业务逻辑数据,同时使用T-Sql进行创建、增加、删除、修改、查找; 后续学习,主要学习T-Sql块的知识比较好。 至于其他数据库:Oracle,DB2等的可以进行了解就好。先把基础(T-sql)掌握,其他的都差不多了,然后看你在工作中的具体,在熟悉该项数据库好点。 希望我的回答能够帮到你~!

jsp怎么输出数据库信息?

Session session = HibernateSessionFactory.getSession();//获取Session String hql = "from student";//写hql语句 Query query = session.createQuery(hql);//执行查询 List students = query.list();//返回集合 我这是用的Hibernate框架写的后台代码,然后把集合传到jsp页面就好不建议在jsp页面写代码块

JAVA中掌握JDBC的基本概念,并能够完成基本的数据库读写操作。

1.建立数据库database,建立数据表student。 字段: sid 学号 文本 sname 姓名 文本 ssex 性别 文本(2字节) saddress 地址 文本 stel 电话 文本 2.类代码 /****************************************************** 使用: 设置数据库路径、sql语句、最大返回行数,使用getHTMLTable()返回html表格形式的字符串 executeSQL(String,String)执行SQL语句返回一 ...
java8新特征详解
java文件操作专题教程
JAVA概述
第一部分:java入门基础
第二部分:java常用类
第三部分:jdbc系列教程
第四部分:java高级特征

相关文章

更多

最近更新

更多