JDBC之简单的读取表字段名

来源:互联网 发布:mac终端查询ip地址 编辑:程序博客网 时间:2024/06/05 06:59
读取字段信息的方法
1 锁定字段名    rs.getString(字段名/ename)
2 锁定字段序号 --> select a,b,c,d,e from..
序号索引从1开始算起 rs.getString(1);
3 查询字段设置别名后,字段名只能使用别名访问。


读取数据表的字段名
ResultSetMetaData 
--> 数据集元数据,含查询字段的结构信息
创建语法:
ResultSetMetaData md = rs.getMetaData();
获取当前查询结果集中的字段名或别名
md.getColumnName(索引从1开始);

-->数据循环打印之前打印列头

下面是利用statement发送执行的SQL语句串,从连接到打印的过程,复制oracle自带的scott.emp,scott.dept表单形成martin_emp,martin_dept两张表

private void processSelect() {//声明数据库资源对象Connection con = null;Statement sta = null; // 1 sqlStatement sta2 = null; // 2 sqlResultSet rs = null;try{//准备连接字符串String driver="oracle.jdbc.driver.OracleDriver";String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";String user="system";String pass="manager";//step 1 driverClass.forName(driver);//step 2 connectioncon = DriverManager.getConnection(url,user,pass);//step 3 statement sql对象sta = con.createStatement();String sql = " select t1.ename as 员工姓名,t1.hiredate as 入职日期," +" t1.sal as 员工工资,t2.dname as 部门名称,t2.loc as 办公地点 " +" from martin_emp t1 join " +" martin_dept t2 on " +" t1.deptno = t2.deptno " +" where to_char(hiredate,'yyyy')" +" = 1981 order by t1.sal desc ";rs = sta.executeQuery(sql);ResultSetMetaData md = rs.getMetaData();String c1 = md.getColumnName(1);String c2 = md.getColumnName(2);String c3 = md.getColumnName(3);String c4 = md.getColumnName(4);String c5 = md.getColumnName(5);System.out.println(c1+"\t"+c2+"\t\t"+c3+"\t"+c5+"\t"+c4+"\t");//step 4 process resultsetwhile(rs.next()){  //读取每一行数据  String name = rs.getString(1);  Date hiredate  = rs.getDate(2);  float sal = rs.getFloat(3);  String dname = rs.getString(4);  String loc = rs.getString(5);  System.out.println(name+"\t"  +hiredate+"\t"+sal+"\t"  +loc+"\t"+dname+"\t");}}catch(Exception e){e.printStackTrace();}finally{// step 5 关闭数据库连接资源对象}}


原创粉丝点击