java中的DataBaseMetaData与ResultMetaData使用:

DataBaseMetaData 类对象通过Connection类对象获取

1, 获取数据库的url
2, 获取用户名
3, 获取有哪些数据库

package com.xzq.jdbc;import com.xzq.dbutils.DbUitl;import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;public class prac3 {public static void main(String[] args) {try {Connection connection = DbUitl.getConnection();//通过connection对象获取DatabaseMetaData baseMetaData = connection.getMetaData();String url = baseMetaData.getURL();System.out.println(url);/*获取用户名*/String user = baseMetaData.getUserName();System.out.println(user);/*得到mysql中有哪些数据库*/ResultSet resultSet = baseMetaData.getCatalogs();while(resultSet.next()){System.out.println(resultSet.getString(1));}} catch (SQLException e) {e.printStackTrace();}}
}

运行结果:

ResultMetaData类对象通过ResultSet类获取

1,获取列数
2,获取字段名
3,获取字段别名
4,获取字段取值是否可以为空

package com.xzq.jdbc;import com.xzq.dbutils.DbUitl;import java.sql.*;public class prac5 {public static void main(String[] args) throws SQLException {/*放在外面,用来关闭资源*/Connection connection = null;PreparedStatement preparedStatement = null;ResultSet resultSet = null;try {connection = DbUitl.getConnection();String sql="select id 'ID号',name '姓名', birth '出生日' from user";preparedStatement = connection.prepareStatement(sql);resultSet = preparedStatement.executeQuery();/*根据集合得到元数据*/ResultSetMetaData resultSetMetaData = resultSet.getMetaData();/*获取列数*/int count = resultSetMetaData.getColumnCount();System.out.println("数据库的字段数:"+count);/*获取字段名*/String flag;for(int i=0; i<count ; i++){String columnname = resultSetMetaData.getColumnName(i+1);String columnlabel = resultSetMetaData.getColumnLabel(i+1);//resultSetMetaData.isNullable(index):判断字段取值是否可以为空if(resultSetMetaData.isNullable(i+1)==0){flag="不可以空值";}else{flag="可以为空值";}System.out.println(columnname+" - - "+ columnlabel+ " - - "+flag);}} catch (SQLException e) {e.printStackTrace();}finally {DbUitl.Close(resultSet,preparedStatement,connection);}}
}

运行结果:

Java中DataBaseMetaData与ResultMetaData基本使用相关推荐

  1. 第80节:Java中的MVC设计模式

    第80节:Java中的MVC设计模式 前言 了解java中的mvc模式.复习以及回顾! 事务,设置自动连接提交关闭. setAutoCommit(false); conn.commit(); conn ...

  2. stmt在java中的应用_JDBC技术基础总结转载,非原创

    JDBC的全称是Java DataBase Connectivity,即Java数据库连接.它是一套行业标准的API,可以在Java应用程序中与关系型数据库建立连接,并执行相关操作,例如Oracle, ...

  3. Java中的数据库架构导航

    jOOQ的重要组成部分是数据库架构导航模块jooq-meta. 代码生成器使用它来发现相关的架构对象. 我多次被问到为什么我要自己滚动而不使用其他库,例如SchemaCrawler或SchemaSpy ...

  4. java getcolumns_Java DatabaseMetaData.getColumns方法代碼示例

    本文整理匯總了Java中java.sql.DatabaseMetaData.getColumns方法的典型用法代碼示例.如果您正苦於以下問題:Java DatabaseMetaData.getColu ...

  5. java getcolumns_Java DatabaseMetaData.getFunctionColumns方法代碼示例

    本文整理匯總了Java中java.sql.DatabaseMetaData.getFunctionColumns方法的典型用法代碼示例.如果您正苦於以下問題:Java DatabaseMetaData ...

  6. java中实现具有传递性吗_Java中volatile关键字详解,jvm内存模型,原子性、可见性、有序性...

    一.Java内存模型 想要理解volatile为什么能确保可见性,就要先理解Java中的内存模型是什么样的. Java内存模型规定了所有的变量都存储在主内存中.每条线程中还有自己的工作内存,线程的工作 ...

  7. java中调用python

    在Java中调用Python </h1><div class="clear"></div><div class="postBod ...

  8. java中hashcode_浅谈Java中的Hash值

    1.Hash值有什么用? HashMap.HashTable.HashSet,所以涉及到使用Hash值进行优化存储的地方,都会用到HashCode.HashCode是Key,这种计算为提高计算的性能. ...

  9. JAVA中获取当前系统时间

    JAVA中获取当前系统时间 转自:http://www.cnblogs.com/Matrix54/archive/2012/05/01/2478158.html 一. 获取当前系统时间和日期并格式化输 ...

最新文章

  1. UESTC 趣味赛命题报告E
  2. where does ZCRM_OPPORTUNITY_0001_BE come from
  3. 音频文件 数据库存储_数据库系统是什么?它由哪几部分组成?
  4. Mysql 8.0 安装
  5. LeetCode 1744. 你能在你最喜欢的那天吃到你最喜欢的糖果吗?(前缀和)
  6. 3-3 编程练习:jQuery键盘事件案例
  7. android 蓝牙连接obd,Android蓝牙连接汽车OBD设备
  8. Linux 系统中用户切换(su user与 su - user 的区别)
  9. uniapp解决h5打包空白的问题
  10. 从总线式以太网到SDN交换机OpenVSwitch
  11. 520到了,教你做个JavaWeb表白墙小项目
  12. 山东畜牧兽医职业学院计算机考试,山东畜牧兽医职业学院计算机自编word15套试题11Word模拟试题(1-15).doc...
  13. 【李佳辉_周报_2022.9.18】
  14. 【均衡器】LS均衡器,DEF均衡器以及LMMSE均衡器的误码率性能对比仿真
  15. 弱网测试工具-qnet
  16. vue 3秒自动请求接口 刷新页面
  17. bool的printf格式说明符是什么?
  18. 哈工大机械原理凸轮机构大作业
  19. 10_MySQL视图
  20. USB设备开发---- USB固件开发

热门文章

  1. python抢票代码_Python自动化xpath实现自动抢票抢货
  2. MapReduce NativeTask优化详解
  3. VirtualLab教程特辑
  4. 计算机在生活中很重要用英语,电脑对生活的影响英语作文
  5. 第二证券|多只公募基金损失惨重;储能板块低开高走
  6. 基于W801和Helix解码库的MP3播放器(W801单片机学习笔记)热血沸腾,流畅播放
  7. WebApp开发:ajax请求跨域问题的解决
  8. 这几个免费、商用图片素材网,你一定要知道
  9. windows下网络流量监控
  10. html5编写一个手机app的首页