`
阿尔萨斯
  • 浏览: 4277809 次
社区版块
存档分类
最新评论

【web】赵雅智_元数据

 
阅读更多

元数据- DataBaseMetaData

  • 元数据:数据库、表、列的定义信息。
  • Connection.getDatabaseMetaData()
  • DataBaseMetaData对象
    • getURL():返回一个String类对象,代表数据库的URL。
    • getUserName():返回连接当前数据库管理系统的用户名。
    • getDatabaseProductName():返回数据库的产品名称。
    • getDatabaseProductVersion():返回数据库的版本号。
    • getDriverName():返回驱动驱动程序的名称。
    • getDriverVersion():返回驱动程序的版本号。
    • isReadOnly():返回一个boolean值,指示数据库是否只允许读操作。

【实例】

DBManager_c3p0.java

package com.hbsi.util;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.mchange.v2.c3p0.ComboPooledDataSource;
import com.mysql.jdbc.Statement;

public class DBManager_c3p0 {
	
	private static ComboPooledDataSource ds = null;
	
	static{
		try{
			//创建连接池			
			ds = new ComboPooledDataSource("mysql");
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	
	public static Connection getConnection() throws SQLException{
		return ds.getConnection();
	}
	

	public static void closeDB(Connection con,PreparedStatement ps,ResultSet rs){
		if(rs!=null){
			try {
				rs.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		if(ps!=null){
			try {
				ps.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		if(con!=null){
			try {
				con.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

}


DingYiMessage.java

package com.hbsi.yuan;

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;

import com.hbsi.util.DBManager_c3p0;

public class DingYiMessage {
	/**
	 * 数据库元数据
	 */
	public static void main(String[] args) {
		Connection conn = null;
		
		try {
			//获取链接
			conn = DBManager_c3p0.getConnection();
			//获取元数据
			DatabaseMetaData meta = (DatabaseMetaData) conn.getMetaData();
			//获取名称
			System.out.println(meta.getDatabaseProductName());
			//获取URL
			System.out.println(meta.getURL());
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			DBManager_c3p0.closeDB(conn, null, null);
		}
		

	}

}



元数据- ParameterMetaData

  • PreparedStatement . getParameterMetaData()
    • 获得代表PreparedStatement元数据的ParameterMetaData对象。
    • Select * from user where name=? And password=?
  • ParameterMetaData对象
    • getParameterCount() 获得指定参数的个数
    • getParameterType(int?param) 获得指定参数的sql类型

CanShu.java

package com.hbsi.yuan;

import java.sql.Connection;
import java.sql.ParameterMetaData;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import com.hbsi.util.DBManager_c3p0;

public class CanShu {

	/**
	 * 参数的元数据
	 */
	public static void main(String[] args) {
		Connection conn = null;
		PreparedStatement st = null;
		
		try {
			conn = DBManager_c3p0.getConnection();
			String sql ="select * from admin where name=? and password=?";
			
			st = conn.prepareStatement(sql);
			//几个参数
			ParameterMetaData pmeta = st.getParameterMetaData();
			System.out.println(pmeta.getParameterCount());
			
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			DBManager_c3p0.closeDB(conn, null, null);
		}
		

	}
}



Tip:元数据- ResultSetMetaData

  • ResultSet. getMetaData()
    • 获得代表ResultSet对象元数据的ResultSetMetaData对象。
  • ResultSetMetaData对象
    • getColumnCount() 返回resultset对象的列数
    • getColumnName(int?column) 获得指定列的名称
    • ?getColumnTypeName(int?column)获得指定列的类型

JieGuoJi.java

package com.hbsi.yuan;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;

import com.hbsi.util.DBManager_c3p0;

public class JieGuoJi {
	/**
	 * 结果集元数据
	 */
	public static void main(String[] args) {
		Connection conn = null;
		PreparedStatement st = null;
		ResultSet rs = null;
		
		try {
			conn = DBManager_c3p0.getConnection();
			String sql ="select * from admin";
			
			st = conn.prepareStatement(sql);
			
			rs = st.executeQuery();
			
			ResultSetMetaData rmeta = rs.getMetaData();
			
			//有几列
			System.out.println(rmeta.getColumnCount());
			System.out.println(rmeta.getColumnName(1));
			System.out.println(rmeta.getColumnName(2));
			System.out.println(rmeta.getColumnName(3));
			
			
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			DBManager_c3p0.closeDB(conn, null, null);
		}
		

	}

}


分享到:
评论

相关推荐

    Web__JSON数据.mp4

    Web__JSON数据.mp4

    web.rar_Web服务器labview_labview_labview web_web数据上传_服务器 数据库

    web服务调用,用于与其他数据库对接,上传数据到数据库里面,也可以从数据库服务器里获取数据。

    基于WEB的_数据结构_在线学习平台的设计与实现

    基于WEB的_数据结构_在线学习平台的设计与实现

    webscraper_0_2_0_18.zip

    标签中的"webscraper 0_2_0_18 0.2.0.18 老版本"提供了关键的元数据,"webscraper"是软件的名字,"0.2.0.18"再次强调了版本号,而“老版本”提示了这不是该软件的最新更新。 在压缩包子文件的文件名称列表中,我们...

    PHP和MySQL Web开发_中文5

    PHP和MySQL Web开发_中文PHP和MySQL Web开发_中文PHP和MySQL Web开发_中文PHP和MySQL Web开发_中文PHP和MySQL Web开发_中文PHP和MySQL Web开发_中文

    WebApi_OAuth_Demo

    WebAPI是.NET Framework中用于构建RESTful服务的一个强大框架,它允许开发者以HTTP协议为中心设计API,支持JSON和XML等多种数据格式,广泛应用于前后端分离的现代Web应用开发。在WebAPI_OAuth_Demo中,我们看到的...

    点聚WebOffice_JAVA_demo

    点聚WebOffice在线打开编辑office java的demo和演示地址一样展现的程序是一样的 地址为点聚官方网页,如果打不开在google搜索 演示地址:http://o.dianju.cn:9230/WebOffice/

    Nokia_Suite_webinstaller_ALL

    塞班系统pc端软件。用于数据传递、备份,适用于早期的诺基亚手机

    weboffice_v6.0.5.0

    【weboffice_v6.0.5.0】是一个专为在线办公环境设计的文档编辑控件,它提供了一种高效且便捷的方式来处理各种类型的文档。这款控件的亮点在于其全面的功能和对多种文件格式的支持,使得用户无需安装本地的Office软件...

    Acunetix_Web_Vulnerability_Scanner_8.x注册码

    这是一款网络漏洞扫描工具。通过网络爬虫测试你的网站安全,检测流行的攻击 ,如交叉...Acunetix_Web_Vulnerability_Scanner_8.x_Enterprise_Edition_Incl_KeyGen_Hmily[LCG].rar MD5:AD44F5CCDCA12F0834618634F41269FB

    普元元数据管理系统V5.0操作手册

    产品是一款基于 WEB 方式的元数据管理工具,采用这个工具能够整合游离于企业各环 节的元数据资产,便于用户浏览及分析元数据。产品有助于帮助用户了解和管理信息和加工 处理过程的来源,也有助于用户理解信息与加工...

    Xilinx_Vivado_SDK_Web_2019.1_0524_1430_Win64.exe

    下载请注意操作系统! Vivado HLx 2019.1:WebPACK 和版本 —Windows 自解压 Web 安装程序 (EXE - 64.62 MB)

    STM32+LWIP+WEB_SSI_CGI

    在STM32项目中,通过WEB_SSI_CGI,开发者可以编写C语言的CGI程序,这些程序在STM32上运行,并通过LWIP发送到客户端,从而实现网页的动态更新和实时数据展示。 **网络编程流程** 1. **初始化**:首先,需要配置STM32...

    Web数据集成的元数据解决方案

    RDF为Web资源描述提供了一种通用框架,它以一种机器可理解的方式被表示出来,可以很方便的进行数据交换,RDF提供了Web数据集成的元数据解决方案。通过RDF的帮助,Web可以实现目前还很难实现的一系列应用,如可以更...

    深入浅出Oracle_EBS之Web_ADI

    深入浅出Oracle_EBS之Web_ADI

    精通Spring_Web_MVC优秀框架.pdf

    精通Spring_Web_MVC优秀框架.pdf

    Python库 | jupyter_web_report-0.1.5.tar.gz

    《Python库jupyter_web_report-0.1.5:打造高效交互式数据分析报告》 在IT行业中,Python作为一门强大的编程语言,广泛应用于数据分析、机器学习以及Web开发等领域。而`jupyter_web_report`库正是Python社区为提升...

    唐俊开_[HTML5移动Web开发指南]_扫描版.rar

    唐俊开_[HTML5移动Web开发指南]_扫描版.rar唐俊开_[HTML5移动Web开发指南]_扫描版.rar唐俊开_[HTML5移动Web开发指南]_扫描版.rar唐俊开_[HTML5移动Web开发指南]_扫描版.rar唐俊开_[HTML5移动Web开发指南]_扫描版.rar...

    教学管理系统WEB版_试题库建设及组卷算法

    ① 试题库系统中数据库设计 该模块主要通过SQL企业管理器设计数据库中的表。 ② 组卷算法及组卷系统 该模块包括组卷算法的建立,这里本系统的核心部分组卷系统主要是建立在组卷算法基础上的,它要求系统能根据用户...

    15-Web_Metadata_Retrieval

    Web元数据检索API 设置: 克隆存储库git clone https://github.com/WebMetadataRetrieval/15-Web_Metadata_Retrieval.git 创建虚拟环境cd 15-Web_Metadata_Retrieval\Code virtualenv venv cd venv scripts\...

Global site tag (gtag.js) - Google Analytics