Java中DataBaseMetaData与ResultMetaData基本使用
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基本使用相关推荐
- 第80节:Java中的MVC设计模式
第80节:Java中的MVC设计模式 前言 了解java中的mvc模式.复习以及回顾! 事务,设置自动连接提交关闭. setAutoCommit(false); conn.commit(); conn ...
- stmt在java中的应用_JDBC技术基础总结转载,非原创
JDBC的全称是Java DataBase Connectivity,即Java数据库连接.它是一套行业标准的API,可以在Java应用程序中与关系型数据库建立连接,并执行相关操作,例如Oracle, ...
- Java中的数据库架构导航
jOOQ的重要组成部分是数据库架构导航模块jooq-meta. 代码生成器使用它来发现相关的架构对象. 我多次被问到为什么我要自己滚动而不使用其他库,例如SchemaCrawler或SchemaSpy ...
- java getcolumns_Java DatabaseMetaData.getColumns方法代碼示例
本文整理匯總了Java中java.sql.DatabaseMetaData.getColumns方法的典型用法代碼示例.如果您正苦於以下問題:Java DatabaseMetaData.getColu ...
- java getcolumns_Java DatabaseMetaData.getFunctionColumns方法代碼示例
本文整理匯總了Java中java.sql.DatabaseMetaData.getFunctionColumns方法的典型用法代碼示例.如果您正苦於以下問題:Java DatabaseMetaData ...
- java中实现具有传递性吗_Java中volatile关键字详解,jvm内存模型,原子性、可见性、有序性...
一.Java内存模型 想要理解volatile为什么能确保可见性,就要先理解Java中的内存模型是什么样的. Java内存模型规定了所有的变量都存储在主内存中.每条线程中还有自己的工作内存,线程的工作 ...
- java中调用python
在Java中调用Python </h1><div class="clear"></div><div class="postBod ...
- java中hashcode_浅谈Java中的Hash值
1.Hash值有什么用? HashMap.HashTable.HashSet,所以涉及到使用Hash值进行优化存储的地方,都会用到HashCode.HashCode是Key,这种计算为提高计算的性能. ...
- JAVA中获取当前系统时间
JAVA中获取当前系统时间 转自:http://www.cnblogs.com/Matrix54/archive/2012/05/01/2478158.html 一. 获取当前系统时间和日期并格式化输 ...
最新文章
- UESTC 趣味赛命题报告E
- where does ZCRM_OPPORTUNITY_0001_BE come from
- 音频文件 数据库存储_数据库系统是什么?它由哪几部分组成?
- Mysql 8.0 安装
- LeetCode 1744. 你能在你最喜欢的那天吃到你最喜欢的糖果吗?(前缀和)
- 3-3 编程练习:jQuery键盘事件案例
- android 蓝牙连接obd,Android蓝牙连接汽车OBD设备
- Linux 系统中用户切换(su user与 su - user 的区别)
- uniapp解决h5打包空白的问题
- 从总线式以太网到SDN交换机OpenVSwitch
- 520到了,教你做个JavaWeb表白墙小项目
- 山东畜牧兽医职业学院计算机考试,山东畜牧兽医职业学院计算机自编word15套试题11Word模拟试题(1-15).doc...
- 【李佳辉_周报_2022.9.18】
- 【均衡器】LS均衡器,DEF均衡器以及LMMSE均衡器的误码率性能对比仿真
- 弱网测试工具-qnet
- vue 3秒自动请求接口 刷新页面
- bool的printf格式说明符是什么?
- 哈工大机械原理凸轮机构大作业
- 10_MySQL视图
- USB设备开发---- USB固件开发