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 一. 获取当前系统时间和日期并格式化输 ...
最新文章
- 看完 50000 张专辑封面,AI 设计师开始疯狂输出
- 三元组顺序表表示的稀疏矩阵加法_数据结构实验题(三元组顺序表表示的稀疏矩阵转置运算)...
- 文本分类实战(三)—— charCNN模型
- 四大传值详解:属性传值,单例传值,代理传值,block传值
- 开机后需要手动打开mysql_mysql解压版一键配置
- Linux应用集成MySQL数据库访问技巧
- markdown html vue,vue项目引入markdown
- Tornado是为何物
- Spring+Netty4实现的简单通信框架
- Vj程序设计作业H5
- 【问题解决】 请点击工具-Internet选项-高级,关闭“启用集成WINDOWS验证”选项。然后关闭浏览器,重新登录系统。
- 今日说“法”:FPGA芯片如何选型?
- 从0到一开发微信小程序(2)——开发第一个小程序
- 政治正确的睡前故事(4则)【搬运】【破事水】
- 计算机图形学孔令德基础知识,计算机图形学基础教程孔令德答案
- 每一款都很能打 苏宁小Biu连发新品布局IoT
- VUE·17:事件处理之 @keyup、@keydown 等键盘按键触发及 @keyup.enter 等别名
- html中国家的下拉列表,jQuery Select下拉列表国家选择插件
- 23种java设计模式详解-代理模式
- 【javascript输入一个数判断这个数是否为素数】判断素数