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

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. eclipse jsp 加载服务器tomcat

    1.window->Preferences

  2. Python学习总结19:类(二)

    参考:http://python.jobbole.com/82308/ 继承和__slots__属性 1. 继承    在Python中,同时支持单继承与多继承,一般语法如下: class SubCl ...

  3. 今天遇到的一个问题(windows的ssh客户端连接不到虚拟机Ubuntu)

    今天比较郁闷,想用windows上的ssh客户端连接虚拟机中的Ubuntu. 但是死活连不上,之前是能脸上的,所以比较郁闷. 我首先在windows上ping Ubuntu的ip地址,竟然发不了数据包 ...

  4. String.Format数字格式化参考

    String.Format数字格式化输出 {0:N2} {0:D2} {0:C2} (转) 数字 {0:N2} 12.36 数字 {0:N0} 13 货币 {0:c2} $12.36 货币 {0:c4 ...

  5. docker进入容器方法

    更简单的,建议大家下载 .bashrc_docker,并将内容放到 .bashrc 中. $ wget -P ~ https://github.com/yeasy/docker_practice/ra ...

  6. php扩展的基本安装

    phpize ./config --with-php-config=.. make&make install php.ini

  7. spark sql cache

    1.几种缓存数据的方法 例如有一张hive表叫做activity 1.CACHE TABLE //缓存全表 sqlContext.sql("CACHE TABLE activity" ...

  8. java 网络编程(五)----TCP进阶篇上传文本文件

    设计需求:从客户端上传txt文件到服务器,服务端收到文件后,发送消息给客户端接收完成. 1. 服务器端: public class UpLoadFileServer { public static v ...

  9. cf-282e

    “字典树”的变形,任意两数异或最大值,处理字典树的时候可以用递归,也可以用循环,下面有两个版本. C - Sausage Maximization Time Limit:2000MS Memory L ...

  10. U盘启动引导安装linux

    一.U盘引导,安装前的准备 1.U盘一枚,至少2G 2.下载并安装虚拟光驱,这里我用的是UltralSO. 二.制作引导盘 1.打开UltraISO软件,选择文件->打开,打开需要烧录的镜像文件 ...