`
xiebh
  • 浏览: 613880 次
  • 性别: Icon_minigender_1
  • 来自: 太原
社区版块
存档分类
最新评论

JDBC初级应用实例(二) 转

阅读更多
转自:http://blog.csdn.net/axman/archive/2006/07/07/887852.aspx
JDBC初级应用实例(二)[动态访问数据库]

    上面有一位朋友问了,如果在已经连结的情况下,知道当前连结的库的表的情况呢?
其实只你已经连结了,你就能知道这个库中所以情况而不仅仅上表的情况:

    有时(我到目前只见到过一次),我们对一种新的数据库根本不知道它的结构或者是
其中的内容,好坏么我们如何来获取数据库的情况呢?
    真实的例子是这样的,我的朋友的公司接到了一个单子,对方使用的数据库是叫什么
"titanium"的,说实话由于本人的孤陋寡闻,在此之前从来不知道还有这种数据库,更别说如何
访问了,现在朋友要看里面有什么"东西",当然是一筹莫展.所以只好找我.
    接到电话后,我先问他是什么平台上跑的,如果连结的,他说是在windows下可以建立
ODBC数据源,哈哈,就是说可以用java建立Connection了,OK
    只能建立一下Connection,那么就可以得到这个数据库的所有元信息:
   
DatabaseMetadata dbmd = conn.getMetadata();然后你可以从这个对象获取以下信
息:
    getUrl();      //返回与这个数据库的连结的URL,当然是已知的,要不你怎么连上去
    getUserName(); //返回与这个数据库的连结的用户,同上
    isReadOnly();数据库是否为只读
    getDatabaseProduceName();//数据库产品名称
    getDatabaseProduceVersion();//版本号
    getDriverName();//驱动程序
    getDriverVersion();//驱动程序版本

    以上内容没有什么意义

  
 ResultSet getTables(String catalog, 
                String schemaPattern,
                String tableNamePattern,
                String[] types) 

    可以得到该库中"表"的所有情况,这里的表包括表,视图,系统表,临时空间,别名,同义词
    对于各参数:
    String catalog,表的目录,可能为null,"null"匹配所有
    String schemaPattern,表的大纲,同上
    String tableNamePattern,表名,同上
    String[] types,表的类型,"null"匹配所有,可用的类型为:
    TABLE,VIEW,SYSEM TABLE,GLOBAL TEMPORARY,LOCAL  TEMPORARY,ALIAS,SYNONYM

    例如:
       
DatabaseMetaData dbmd = conn.getMetaData();
        ResultSet rs = dbmd.getTables(null,null,null,null);
        ResultSetMetaData rsmd = rs.getMetaData();
        int j = rsmd.getColumnCount();
        for(int i=1;i<=j;i++){
            out.print(rsmd.getColumnLabel(i)+"\t");
        }
        out.println();
        while(rs.next()){
            for(int i=1;i<=j;i++){
                out.print(rs.getString(i)+"\t");
            }
            out.println();
        }
    对于更详细的表中的列的信息,可以用dbmd(不是rsmd).getColumns(
            String catalog,
            String schemaPattern,
            String tableNamePattern,
            String columnNamePattern
        )

    不仅可以获得rsmd中的信息,还可以获得列的大小,小数位数,精度,缺省值,列在表中
的位置等相关信息.
    还有两个方法,调用和获取表信息一样,可以获得存储过程和索引的信息:
   
ResultSet getProcedures(
            String catalog,
            String schemaPattern,
            String procedurePattern
        );
    ResultSet getIndexINFO(
            String catalog,
            String schemaPattern,
            String table,
            boolean unique,boolean approximate
        );  
分享到:
评论

相关推荐

    是对之前讲的jdbc初级应用实例

    是对之前讲的jdbc初级应用,讲解一些实例

    java初级开发实例

    Java初级开发实例主要涵盖了几大核心领域:JDBC(Java Database Connectivity)、JSP(Java Server Pages)、Servlet以及Structs框架的使用。这些都是Java Web开发的基础,对于初学者来说,掌握这些技术是成为合格的...

    java jdbc 初级

    ### Java JDBC 初级知识点详解 #### 一、JDBC体系结构及操作步骤 ##### JDBC体系结构 JDBC(Java Database Connectivity)是Java语言中用来规范客户端程序如何访问数据库的应用程序接口,是一套用于执行SQL语句的...

    初级JDBC需要的jar包,spring数据库开发

    在使用这些jar包进行Spring JDBC开发时,开发者通常会创建一个配置文件(如`applicationContext.xml`),配置数据源、事务管理器等,并定义JdbcTemplate实例。然后,通过注入JdbcTemplate,就可以在Service或DAO层...

    java初级编程实例(几十个小程序)

    【Java初级编程实例详解】 Java作为一种广泛使用的编程语言,对于初学者来说,通过实例学习是掌握其基础知识的有效途径。这个压缩包中包含了几十个小程序,涵盖了各种算法和实现,为初学者提供了丰富的学习资源。接...

    day01_jdbc_consumer_

    标题“day01_jdbc_consumer_”暗示了我们即将探讨的是关于Java数据库连接(JDBC)的初级内容,特别是从消费者或使用者的角度出发。描述中提到的“基础语法等等jdbc接口”表明我们将深入理解JDBC的基本操作和常用接口...

    jdbc的入门小程序

    标题中的“jdbc的入门小程序”意味着这是一个初级教程,适合初学者学习JDBC的基础知识。可能包含简单的数据库连接、数据查询和事务处理等内容。 描述中提到有一个“jdbc.avi”的视频文件,这可能是作者录制的一个...

    java2技能白练(从初级到高级java经典实例)

    9. **Swing和JavaFX**:这两部分主要讲解Java的图形用户界面(GUI)编程,包括组件使用、布局管理、事件处理等,帮助开发者创建美观、交互性强的桌面应用。 10. **反射与注解**:反射是Java的动态特性,允许程序在...

    jsp学习笔记初级.pdf

    Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用。 初级准备 初级准备包括JDK、Tomcat(Web服务器)、MySQL(数据库)、JDBC(连接数据库)、Eclipse...

    Javaweb应用开发初级复习课初级复习题.pdf

    11. **Web容器**:Web容器(如Tomcat)负责管理Web应用的生命周期,包括加载、实例化、部署和卸载Web组件。 12. **Maven或Gradle**:这两种是常用的构建工具,用于自动化Java项目的构建、依赖管理和打包过程。 13....

    KingSCADA初级培训教程

    KingSCADA初级培训教程主要涵盖了如何与关系数据库建立连接、使用数据集函数查询KingSCADA的历史库数据、理解和应用数据模型以及解决系统中常见的问题。这个教程是针对初学者设计的,旨在帮助他们快速掌握KingSCADA...

    NIT-Pro初级软件工程师(Java)案例题

    - 支持Oracle、MySQL或SQL Server数据库连接,其中MySQL和Oracle需使用JDBC Thin连接方式,SQL Server需使用JDBC-ODBC桥式连接,ODBC数据源名为`nitpro`,数据库名称为`nitproDB`,登录用户名为`sa`,密码为空。...

    java程序经典实例

    这些实例涵盖了初级到进阶的各个层次,旨在帮助初学者扎实基础,理解并掌握Java编程的核心概念。以下是对这些实例的详细解读: 1. **控制台输入输出**:Java的基础始于I/O操作。书中可能包括了Scanner类的使用,如...

    程序员从初级到高级知识汇集

    - **Spring MVC实例**:结合JSON和Linechart展示了Spring MVC在实际应用中的数据展示和图表绘制,对于Web应用的前端展现有很好的参考价值。 - **SSH代码生成工具**:这两部分介绍了可以自动生成SSH框架下各层代码...

    电子图书增删改查项目实例

    《电子图书增删改查项目实例》是一个针对初级和中级Java开发者设计的实践教程,主要聚焦于使用JDBC(Java Database Connectivity)进行数据库操作。这个项目旨在帮助学习者理解和掌握数据库的基本操作,如添加...

    j2ee通讯录实例,入门必看

    6. **日志管理**:log4jDemo标签表明这个实例可能使用了Log4j,一个流行的Java日志框架,用于记录应用程序运行过程中的信息,帮助调试和追踪问题。 7. **文件命名**:“address2”可能是通讯录的主类或者数据库表名...

    java自学 数据库项目实例示范

    在Java自学过程中,数据库项目实例是非常重要的一部分,它能帮助我们深入理解如何使用Java与数据库进行交互,构建实际的应用系统。本项目实例聚焦于“管理系统”,特别是“学生管理系统”,这通常是一个初学者常接触...

    java私塾教材大全(初级中级高级)

    10. **数据库与JDBC**:掌握SQL语言,理解关系型数据库原理,熟练使用JDBC进行数据库操作,包括连接池的配置与使用。 11. **网络编程**:讲解TCP/IP协议基础,HTTP协议,以及Socket编程,为网络应用开发打下基础。 ...

    mysql入门必备及其一个经典应用

    本文档是在培训期间做的一份mysql笔记。从启动mysql数据库,到mysql常用sql的使用和数据库事务的划分,最后使用java语言创建了一个自己的jdbc连接池。

    java初级工程师面试题合集最新版

    10. **数据库操作**:熟悉SQL语言,了解JDBC API的使用,包括连接数据库、执行SQL语句、处理结果集等。 11. **框架知识**:虽然初级工程师可能不会深入到框架的内部实现,但理解MVC架构模式,以及Spring、MyBatis等...

Global site tag (gtag.js) - Google Analytics