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

【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

    在LoadRunner中用web_reg_save_param()做关联

    通过上述分析可以看出,`web_reg_save_param()`函数是LoadRunner中非常实用的一个工具,能够帮助我们高效地处理脚本中的动态数据。无论是自动关联还是手动关联,合理利用这些功能都可以显著提高脚本的质量和稳定性。...

    视频WEB插件_Win32_V1.5.2.zip

    《海康视频监控插件详解:视频WEB插件_Win32_V1.5.2.zip》 在当今数字化时代,视频监控系统已经成为保障安全、提高管理效率的重要工具。海康,作为全球领先的安防产品及解决方案提供商,其产品广泛应用于各种场景。...

    POS.rar_java web POS_java web mysql_pos_spring P_web pos

    "java_web_pos"表明是Java Web技术开发的POS系统,"java_web_mysql"指出了数据库的使用,"pos"是系统的类型,"spring_p"可能指的是Spring的持久层支持,"web_pos"强调这是Web环境下的POS解决方案。 从【压缩包子...

    spacy-zh_core_web_sm-2.3.1.tar.gz

    《Python NLP实战:探索spaCy中文模型"zh_core_web_sm-2.3.1"》 在Python的自然语言处理(NLP)领域,spaCy是一个备受推崇的库,它以其高效、易用和丰富的功能深受开发者喜爱。标题中的"spacy-zh_core_web_sm-2.3.1...

    webscraper_0_2_0_18.zip

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

    Web(post)_POST_post服务器_服务器_web服务器_web页面_源码.zip

    Web开发是信息技术领域中的...深入研究这个压缩包中的源码,开发者可以学习到如何构建一个完整的Web应用,从用户交互、数据传输到服务器处理的全过程。这不仅有助于理解Web开发的基础,还能提升解决实际问题的能力。

    en_core_web_sm-3.2.0.tar.gz

    3. **元数据文件**:提供有关模型的信息,如作者、许可证、创建日期和版本等。 4. **配置文件**:描述如何设置和使用模型的细节,包括默认参数和任何必要的依赖项。 5. **示例代码或API文档**:为了帮助用户快速...

    web_pb.rar_nationpqh_pb web_pb11.5_pb11.5 开发webserver_tinjj9

    标题中的"web_pb.rar_nationpqh_pb web_pb11.5_pb11.5 开发webserver_tinjj9"暗示了这是一个关于使用PowerBuilder(PB)11.5版本开发Web服务的项目,由用户"tinjj9"创建。"nationpqh"可能是项目或文件的特定标识符。...

    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中,我们看到的...

    ComponentArt_WebUI_2007控件

    数据网格(DataGrid)是ComponentArt_WebUI_2007中的核心组件之一,它允许开发者轻松地展示和操作数据库中的数据。数据网格支持分页、排序、过滤和编辑功能,同时还可以自定义列布局,实现复杂的数据呈现需求。此外...

    WebDeploy_amd64_zh-CN

    WebDeploy不仅仅让你发布文件—还可以部署数据库结构/数据,运行变更的数据库脚本,设置安全访问控制列表等等。所有这些部署步骤都可以用VisualStudio自动完成。 Web部署工具可简化IISweb服务器、Web应用程序和网站...

    神策数据官方_Web_JavaScript_埋点_SDK,是一款轻量级用于_Web_端

    神策数据官方_Web_JavaScript_埋点_SDK,是一款轻量级用于_Web_端和_H5_端的_sa-sdk-javascript

    PCB_Web_based_Device_pcb_PCB_Web_based_Device_

    标题“PCB_Web_based_Device_pcb_PCB_Web_based_Device_”暗示了我们要讨论的主题是基于Web的设备中的印刷电路板(PCB)设计。描述“PCB Web based Device”进一步确认了这个主题,意味着我们将深入探讨一种利用网络...

    web mining_xml web日志挖掘

    web mining_xml web日志挖掘

    weboffice_v6.0.5.0

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

    crud.rar_application web php_crud_php_postgresql

    在Web应用中,CRUD通常用于用户与数据交互,例如在电商网站上添加商品、查看产品详情、修改订单状态或删除无效信息。 **2. PHP语言** PHP是一种服务器端脚本语言,广泛用于Web开发,可以嵌入HTML中,用于生成动态...

    ASP.NET WebApi_Mongodb_demo

    ASP.NET WebAPI与MongoDB的整合是现代Web开发中的一个重要技术组合,用于构建高效、灵活的RESTful服务,配合非关系型数据库实现数据存储。在这个"ASP.NET WebApi_Mongodb_demo"项目中,我们将深入探讨如何利用这两个...

    更新多层应用程序数据.rar_delphi web_web服务器_分布式

    要在分布式应用系统中更新数据,必须调用TClientDataSet 的ApplyUpdates方法,才能把客户端更新的数据真正保存 到远程的数据库中。 在客户端的浏览器中:http://Web服务器名/ActiveFormProj1.htm 如有错误,请确认...

Global site tag (gtag.js) - Google Analytics