----------------------------------------------
有些类下面代码中有;

public class Test1 {
TestDAO t=new TestDAO();

/*
* ResultSetMetaData:描述结果集里的元数据。
* 可以得到结果集里的基本信息:结果集有哪些列,列名,列别名;
* 结合反射可以得到通用的查询方法
* */
@Test
public void testResultSetMetaData() throws Exception{
Connection connection=null;
PreparedStatement preparedStatement=null;
ResultSet resultSet=null;
try {
String sql="select id,name,email,birth from customer ";
connection=t.getConnection();
preparedStatement=connection.prepareStatement(sql);
resultSet=preparedStatement.executeQuery();

ResultSetMetaData rsmd=(ResultSetMetaData) resultSet.getMetaData();

//得到列的个数
int n=rsmd.getColumnCount();
System.out.println(n);
for(int i=0;i<n;i++){
//得到列名
String columnname=rsmd.getColumnName(i);
//获取到列的别名
String columnLabel=rsmd.getColumnLabel(i);
//得到列的值
Object columnValues=resultSet.getObject(columnLabel);
System.out.println(columnname+"--"+columnLabel+":"+columnValues);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
t.close(connection, preparedStatement, resultSet);
}
}
/*
* DatabaseMetaData对象是在Connection对象上获取的,
* DatabaseMetaData类中提供了很多方法可以获得数据源的信息
* 了解
* */

public void testDatabaseMetaData() throws Exception{
Connection connection=null;
ResultSet resultSet =null;
try {
connection=t.getConnection();
DatabaseMetaData data=connection.getMetaData();
//可以得到数据库的一些基本信息
//得到数据库的版本号
int version=data.getDatabaseMajorVersion();
System.out.println(version);

//得到连接数据库的用户名
String user=data.getUserName();
System.out.println(user);

//得到mysql中有哪些数据库
resultSet=data.getCatalogs();
while(resultSet.next()){
System.err.println(resultSet.getString(1));
}
} catch (Exception e) {
e.printStackTrace();
}finally {
t.close(connection, null, resultSet);
}
}
}

ResultSetMetaData和DatabaseMetaData实现数据库中属性,属性值,属性所赋值的获取等的更多相关文章

  1. MVC下 把数据库中的byte[]值保存成图片,并显示在view页面

    MVC下 把数据库中的byte[]值转成图片,并显示在view页面 controller中的action方法 //显示图片[AllowAnonymous]public ActionResult Sho ...

  2. MySQL数据库中tinyint字段值为1,读取出来为true的问题

    原文:https://blog.csdn.net/shuyou612/article/details/46788475 MySQL数据库中tinyint字段值为1,读取出来为true的问题   今天在 ...

  3. sql server 数据库中明明有值但是查询怎么都查不到值

    产生原因是因为编码问题 数据库是英文版  但是数据库中数据又是中文的 所以查询中文时需要加上N select * from customer where Username=N'张三'

  4. ContactsContract中涉及数据库中的一些列属性值【Written By KillerLegend】

    ContactsContract.Data   http://developer.android.com/reference/android/provider/ContactsContract.Dat ...

  5. 获取PostgreSQL数据库中得JSON值

    在PostgreSQL数据库中有一列为JSON,要获取JSON中得数据可以用下面sql: select orderno as OrderNo ,amount as Amount ,ordertime ...

  6. 查找数据库中重复的值的数据,having的使用,count(1),sum等聚会函数

    通过having代替where来使用count(1),sum()等函数.譬如如下数据id value1 21 32 33 53 6 可以写个语句统计value的分组 在这里,可以省略前面的sum(va ...

  7. input标签元素,value属性取值问题,赋值

    验证val:<input type="text" id="id" name="name" value="空值"&g ...

  8. How to: Calculate a Property Value Based on Values from a Detail Collection 如何:基于详细信息集合中的值计算属性值

    This topic describes how to implement a business class, so that one of its properties is calculated ...

  9. DataGridView设置不自动显示数据库中未绑定的列

    项目中将从数据库查出来的数据绑定到DataGridView,但是不想显示所有的字段.此功能可以通过sql语句控制查出来的字段数目,但是DataGridView有属性可以控制不显示未绑定的数据,从UI层 ...

随机推荐

  1. Python:使用pymssql批量插入csv文件到数据库测试

    并行进程怎么使用? import os import sys import time def processFunc(i): time.sleep(10-i) print i if __name__= ...

  2. Fusioncharts使用说明

    背景 最近由于工作需要,再次接触到了Fusioncharts,但也有不足之处,现在官网上似乎是不支持flash的版本了,只能看到html5相关的javascript版本,无奈再次从网上搜索到了一些别人 ...

  3. 不等高cell的tableView界面搭建

    一.搭建界面 1.界面分析 分析界面的层次结构,分析界面应该用什么控件来搭建 2.界面层次结构 分析之后,我们可以把这个界面分为四个模块(topView middleView commentView ...

  4. oracle触发器书写方法

    CREATE SEQUENCE 序列名[INCREMENT BY n] --每次加几[START WITH n] --序列从几开始[{MAXVALUE/ MINVALUE n|NOMAXVALUE}] ...

  5. eclipse 导入jdbc4.jar 包

    详细讲解链接 http://wenku.baidu.com/link?url=QUhO2rIL2fYRgOUyd1TQPEgbl0jQr156ioxK5fiwSPm_Tset2okpBEJcO1fmz ...

  6. JavaScript: Advanced

    DOM 1. 节点 getElementsByName方法 <!DOCTYPE HTML> <html> <head> <script type=" ...

  7. java.面向对象特征

    面向对象特征: 封装,多态,继承 面向对象思想: 封装,继承,多态,接口

  8. jquery 数组求差集,并集

    var alpha = [1, 2, 3, 4, 5, 6], beta = [4, 5, 6, 7, 8, 9]; $.arrayIntersect = function(a, b){ return ...

  9. (转)SQL对Xml字段的操作

    T-Sql操作Xml数据 一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和 ...

  10. 关于Linux系统basename函数缺陷的思考

    某模块作为前台进程独立运行时,运行命令携带命令行参数:作为某平台下守护进程子进程运行时,需要将命令行参数固化在代码里.类似如下写法: char *argv[] = {"./DslDriver ...