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

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. 鼠标放上去,不同的cursor光标类型

    <!DOCTYPE html><html lang="zh-cmn-Hans"><head><meta charset="utf ...

  2. C++Primer 第二章

    //1.程序尽量避免依赖于实现环境的行为.比如:如果将int的尺寸看成一个确定不变的已知值,那么这样的程序就称为不可移植的. typedef int int32; //使用类似的typedef,可以有 ...

  3. Java基础(31):String的大小写转换、分离成数组、==与equals()的区别(String类)

    继续来看 String 类常用的方法,如下代码所示: 运行结果: 那么,“==” 和 equals() 有什么区别呢? ==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象 eq ...

  4. .NET: WPF 路由事件

    (一)使用WPF内置路由事件 xaml: <Window x:Class="WpfApplication1.MainWindow" xmlns="http://sc ...

  5. 查看真机的系统中sdk的版本

    1.adb devices 确保连接上了真机 2.adb shell 进入android系统 3.进入system目录下 4.查看build.prop文件 cat build.prop

  6. springday04-go1

    springmvc02:1.创建项目,导入jar包 2.复制xml文件到src下 3.在web.xml中配置DispatcherServlet(代码一致) <?xml version=" ...

  7. android 修改系统的dialog样式

    android 修改系统的dialog样式 一.觉得自定义配置文件麻烦?那就来修改系统自定义XML文件来实现修改系统dialog的样式吧. 如果是在XML中样式:首先来说下样式.  在 Style.x ...

  8. paper 66: MATLAB函数—disp的使用

    例子来源于网络:关键是看disp函数怎么把字符和数字在一起进行显示. 两点生成直线程序 %%以下是一个通过给定两点显示直线方程的程序, %%该程序需要给出两个点的坐标,结果返回为y=kx+b的格式,且 ...

  9. OpenGL笔试题

    简述FrameBuffer,RenderBuffer,Depth Buffer,Framebuffer attachment,Stencil buffer的关系 简述利用OpenGL执行图像叠加(大P ...

  10. OpenGL拾取注意事项

    GLFrame框架本身不支持拾取,需要自己实现.以下代码是实现拾取功能的注意事项: void Test::doSelection(int xPos, int yPos) { GLfloat aspec ...