数据库元信息的获取

本文介绍了如何获取数据库执行SQL时的参数元信息,特别是针对SQL语句中的占位符。通过编写测试类并利用DBCPUtil工具类,详细阐述了这一过程。
摘要由CSDN通过智能技术生成
1、什么数据库元信息
指数据库、表等的定义信息
2、元信息:
数据库的元信息:DatabaseMetaData dmd = conn.getMetaData();//数据库的元信息。全部都是getter方法

参数元信息:执行的SQL语句中的占位符元信息

编写测试类

(利用了之前编写的DBCP的工具类DBCPUtil   参考:http://blog.csdn.net/jyjxs/article/details/25838973

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ParameterMetaData;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.UUID;

import com.itheima.utils.DBCPUtil;
import com.itheima.utils.JdbcUtils;



public class Test {
	public static void main(String[] args) throws SQLException {
        
		/**
		 * 获取数据库及驱动连接信息
		 */
		Connection  conn = DBCPUtil.getConnection();
		//获取元数据
		DatabaseMetaData  dmt = conn.getMetaData();
		//一下可以获取一些驱动和数据库信息
		System.out.println(dmt.getDriverName());	//MySQL-AB JDBC Driver
		System.out.println(dmt.getDriverVersion());			//mysql-connector-java-5.0.8 ( Revision: ${svn.Revision} )
		System.out.println(dmt.getDatabaseProductName());		//MySQL
		System.out.println(dmt.getDatabaseProductVersion());		//5.5.37
			
		/**
		 * 获取预编译的SQL元信息
		 */
		PreparedStatement  prep = conn.prepareStatement("select * from ccc where id=?  and name =?");
		ParameterMetaData pmd = prep.getParameterMetaData();
		System.out.println(pmd.getParameterCount());     //获取参数的个数:2
		
		/**
		 * 获取结果集的元信息
		 */
		PreparedStatement  prep1 = conn.prepareStatement("select * from ccc");
		ResultSet rs = prep1.executeQuery();
		ResultSetMetaData rsm = rs.getMetaData();			//获取结果的集的元数据
		System.out.println(rsm.getColumnCount());			//获取结果集的
		System.out.println(rsm.getColumnLabel(1));			//获取第一列的列名
		System.out.println(rsm.getColumnTypeName(1));		//获取第一个字段的属性
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值