JAVA概述
第一部分:java入门基础
第二部分:java常用类
第三部分:jdbc系列教程
第四部分:java高级特征
java8新特征详解
java文件操作专题教程

知识点

相关文章

更多

最近更新

更多

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

相关问答

更多
  • Session session = HibernateSessionFactory.getSession();//获取Session String hql = "from student";//写hql语句 Query query = session.createQuery(hql);//执行查询 List students = query.list();//返回集合 我这是用的Hibernate框架写的后台代码,然后把集合传到jsp页面就好不建议在jsp页面写代码块
  • 是不是prepareedstament,还有resultset没有释放,必须要先释放再次执行 还有一个可能就是你把connect给释放了
  • 大数据领域里面,实时分析(在线查询)系统是最常见的一种场景,通常用于客户投诉处理,实时数据分析,在线查询等等过。因为是查询应用,通常有以下特点: a. 时延低(秒级别)。 b. 查询条件复杂(多个维度,维度不固定),有简单(带有ID)。 c. 查询范围大(通常查询表记录在几十亿级别)。 d. 返回结果数小(几十条甚至几千条)。 e. 并发数要求高(几百上千同时并发)。 f. 支持SQL(这个业界基本上达成共识了,原因是很难找到一个又会数据分析,还能写JAVA代码的分析工程师)。
  • 而case class类就是继承了Product。我们所熟悉的TupleN类型也是继承了scala.Product类的,所以我们也可以通过TupleN来创建DataFrame: [python] view plain copy val mobiles=sqlContext.createDataFrame(Seq((1,"Android"), (2, "iPhone"))) mobiles.printSchema mobiles.show() root |-- _1: integer (nullable = ...
  • 创建数据库 选择开始菜单中→程序→【Management SQL Server 2008】→【SQL Server Management Studio】命令,打开【SQL Server Management Studio】窗口,并使用Windows或 SQL Server身份验证建立连接。 在【对象资源管理器】窗口中展开服务器,然后选择【数据库】节点 右键单击【数据库】节点,从弹出来的快捷菜单中选择【新建数据库】命令。 执行上述操作后,会弹出【新建数据库】对话框。在对话框、左侧有3个选项,分别是【常规】、【 ...
  • 如果是Sql2005以上版本就简单了 SELECT TOP 10 * FROM dbo.UserInfo FOR XML PATH('UserInfo'),ROOT ('UserList') 就会生成以下XML PATH里面的字符串生成行标签 ROOT生成根标签 administrator 21 小张 ...... administrator 21 小张 ...... administrator 21 小张 ...... ......
  • 回答我的问题: 要从sqoop获取元数据,我们可以使用sqoop java apis并连接到目标并获取以下元数据 表名 Db名称 栏目细节等 Answering my question: To get the metadata from sqoop , we can use the sqoop java apis and connect to the destination and get the following metadata Table name Db name Column details et ...
  • 我有解决方案bt以其他方式不使用java,而不是使用java i执行查询到'information_schema'(默认情况下在MySQL中)数据库和'REFERENTIAL_CONSTRAINTS'表来获取所需的各个表的所有引用数据库 I have got solution bt in other way not using java,, instead of getting values using java i executed query to 'information_schema' (which ...
  • 我想你是指EXIF元数据。 它们嵌入在文件中,因此除非远程主机提供公开此信息的API,否则必须下载该文件才能读取信息。 从我从标准中收集到的信息来看,信息存储在文件的开头,因此您可以尝试仅下载前几百个字节。 但是,EXIF标头的大小似乎并未修复,因此您需要检索足够大的块。 此外,标准EXIF解析器可能无法处理不完整的图像,因此您可能需要编写自己的解析器。 总而言之,我会说下载整个文件并使用标准工具提取信息是您的最佳选择。 I suppose you're referring to EXIF metadata ...
  • 数据模型中四元关系的存在定义了四个独立实体类型之间的语义上重要的交互。 可以容易地想到,给定表中的任何两个外键都实现语义上独立的关系。 例如, PERSON可能与EMPLOYER关系,而另一人与另一人是其配偶。 这不会使PERSON成为公司和非雇员之间的交集。 由于任何两个外键在语义上都是不相关的,因此如果不是每个具有四个外键的表不一定是四元关系的实现。 我没有关于四元关系频率的统计数据来源,但我想说,如果它恰好是表示系统所需数据的最简单和最合适的方式,那么稀有就没有理由避免使用这种结构。 The exis ...