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

2013-08-31|来源: 领悟书生

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

相关问答

更多

数据库教程

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

access数据库教程 access数据库视频教程下载

《Access 2007数据库管理》以Access 2007作为教学软件,通过范例的教学方式,首先介绍Access 2007的功能与操作基础,然后以多个数据库实例为教学内容,介绍Access 2007在数据表的创建、表关系的设置、查询的创建和应用、窗体的创建和设计、报表的设计和应用、宏和模块的使用、数据库的优化和安全防护等方面的内容,并通过“差旅费用报销系统”和“分类账管理系统”数据库介绍了Access 2007的综合应用。 http://www.henanfilm.cn/view-145-1.h ...

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

1.建立数据库database,建立数据表student。 字段: sid 学号 文本 sname 姓名 文本 ssex 性别 文本(2字节) saddress 地址 文本 stel 电话 文本 2.类代码 /****************************************************** 使用: 设置数据库路径、sql语句、最大返回行数,使用getHTMLTable()返回html表格形式的字符串 executeSQL(String,String)执行SQL语句返回一 ...

destoonmysql数据库参数怎么优化最好

你告诉我你的网站流量和数据库分钟查询次数 或者同时在线人数

destoonmysql数据库参数怎么优化最好

你告诉我你的网站流量和数据库分钟查询次数 或者同时在线人数

专题教程

JAVA概述
第一部分:java入门基础
第二部分:java常用类
第三部分:jdbc系列教程
第四部分:java高级特征
Gson教程
快速了解 jdk8 新特征

相关文章

更多

最近更新

更多