jdbcTemplate 获取数据表结构

jdbcTemplate 操作方法

Java代码  

  1. /**
  2. *1.方法一:
  3. */
  4. String sql = "select * from "+ tableName;
  5. //RowCountCallbackHandler rcch = new RowCountCallbackHandler();
  6. //this.jdbcTemplateDao.query(sql, rcch);
  7. //String[] coloumnName = rcch.getColumnNames();
  8. //int[] coloumnType = rcch.getColumnTypes();
  9. SqlRowSet sqlRowSet = this.jdbcTemplateDao.queryForRowSet(sql);
  10. SqlRowSetMetaData sqlRsmd = sqlRowSet.getMetaData();
  11. int columnCount = sqlRsmd.getColumnCount();
  12. for (int i = 1; i <= columnCount; i++) {
  13. Map<String,String> fieldMap = new HashMap<String,String>();
  14. fieldMap.put("name", sqlRsmd.getColumnName(i));
  15. fieldMap.put("fieldType", String.valueOf(sqlRsmd.getColumnType(i)));
  16. tableFieldList.add(fieldMap);
  17. }
  18. /**
  19. *方法二:
  20. */
  21. String sql = "select * from "+ tableName;
  22. RowCountCallbackHandler rcch = new RowCountCallbackHandler();
  23. this.jdbcTemplateDao.query(sql, rcch);
  24. String[] coloumnName = rcch.getColumnNames();
  25. int[] coloumnType = rcch.getColumnTypes();

下面这里是JDBC的操作方法

Java代码  

  1. import java.sql.DriverManager;
  2. import java.sql.ResultSet;
  3. import java.sql.SQLException;
  4. import java.sql.Statement;
  5. import java.util.ArrayList;
  6. import java.util.Iterator;
  7. import java.util.List;
  8. import com.mysql.jdbc.Connection;
  9. import com.mysql.jdbc.ResultSetMetaData;
  10. public class OperateDB {
  11. public static void main(String[] args) {
  12. try {
  13. Class.forName("com.mysql.jdbc.Driver");
  14. String url = "jdbc:mysql://192.168.11.211/education?useUnicode=true&characterEncoding=utf-8";
  15. String user = "root";
  16. String password = "12345678";
  17. Connection con = (Connection) DriverManager.getConnection(url, user, password);
  18. Statement statement = con.createStatement();
  19. ResultSet result = statement.executeQuery("select * from t_sys_user");
  20. 注意,这里,完全可以操作视图,操作表的sql语句 与操作视图的sql语句一样,
  21. ResultSetMetaData metadata = (ResultSetMetaData) result.getMetaData();
  22. List<String> metadataList = new ArrayList<String>();
  23. System.out.println("====================表结构=============================");
  24. for(int i = 1; i <= metadata.getColumnCount();i++){
  25. metadataList.add(metadata.getColumnName(i));
  26. System.out.print(metadata.getColumnName(i) + "   ");   //name
  27. System.out.print(metadata.getColumnTypeName(i) + "   ");  //type
  28. System.out.print(metadata.isNullable(i) + "   ");    //null
  29. System.out.print(metadata.getColumnCharacterSet(i) + "   "); //encode
  30. System.out.println();   //key
  31. }
  32. System.out.println("====================表数据=============================");
  33. Iterator<String> i = null;
  34. String oneKey = null;
  35. while(result.next()){
  36. i = metadataList.iterator();
  37. while(i.hasNext()){
  38. oneKey = i.next();
  39. System.out.print(oneKey + ":" + result.getString(oneKey) + "    ");
  40. }
  41. System.out.println();
  42. }
  43. result.close();
  44. statement.close();
  45. con.close();
  46. } catch (ClassNotFoundException e) {
  47. e.printStackTrace();
  48. } catch (SQLException e) {
  49. e.printStackTrace();
  50. }
  51. }
  52. }
时间: 2024-08-10 22:25:40

jdbcTemplate 获取数据表结构的相关文章

jdbctemplate 获取数据表结构的方法&amp;注意事项

方法一 直接查询: SqlRowSet srcSqlRowSet = srcJdbcTemplate.queryForRowSet("SELECT * FROM tablename LIMIT 0"); //注意limit 0更合适 List<ColumnMetaData> columneMetaList = new LinkedList<ColumnMetaData>(); int columnCount; SqlRowSetMetaData sqlRowSe

PHP mysqli获取数据表以及表结构

<?php$mysqli = new mysqli('localhost','root','','le');$result = $mysqli->query('SHOW TABLES');//执行查询语句//输出此数据库中表结构$tables = array();while($arr = $result->fetch_assoc()){ //编辑查询结果 $tables[] = $arr;}echo '<br/>';//通过字段名获取数据表结构$result = $mysql

【转】Informix数据表结构分析资料整理之约束查询代码

原文地址:http://blog.csdn.net/xqf222/article/details/6271219 本文主要整理了Informix数据库相关系统表数据,已分析整个Informix数据表结构,同时方便代码自动生成.提示一:systables 存放Informix数据库中所有数据表相关数据 提示二:sysconstraints 存放Informix数据库中所有约束相关数据 --获取所有用户表的主键约束名称select a.tabname,b.constrname,b.* from sy

深度剖析Zabbix Web scenarios数据表结构

深度剖析Zabbix Web scenarios数据表结构 前言 因开发需求,需要解析Zabbix web监控数据表结构:因为网上关于Zabbix数据表结构解析的比较少,所以心血来潮写了一篇作为记录. 突破口 对Zabbix数据库表结构做解析的时候,我有个习惯,直接针对某个itemid怼. 这次当然不例外,随便找了个Zabbix web itemid. 直接查数据库里有哪些表 show tables like "%http%"; +---------------------------

oracle表空间基本命令,修改数据表结构基本命令

表空间基本命令 --创建表空间   初始化大小10M  自动增长5M  最大50M create tablespace duan datafile 'F:\oracle\product\10.2.0\oradata\orcl\duan.dbf' size 10M autoextend on next 5M maxsize 50M; --查询表空间的地址和空间名称 select file_name,tablespace_name from dba_data_files order by file_

如何查看数据表及数据表结构

我们创建好了数据表,那么我们该怎么去查看数据表列表呢? 一.查看数据表列表的语法结构 SHOW TABLES [FROM db_name] [LIKE 'pattern' | WHERE expr] FROM db_name表示,我们不仅可以查看当前数据库里的数据表,还可以查看别的数据库里的数据表 mysql> show tables;+----------------+| Tables_in_test |+----------------+| tb1 |+----------------+1

自动获取数据库表结构

Python 将sandman包中的自动获取数据库表结构的部分提取出来 包名auto_get_database __init__.py from flask import Flask from flask.ext.sqlalchemy import SQLAlchemy app = Flask(__name__) db = SQLAlchemy(app) models.py from decimal import Decimal from flask import current_app fro

Zabbix的数据表结构

看到Zabbix的数据表结构吧,就知道数据量大了 性能问题很让人担忧,不过基于Zabbix数据库导出报表,或自动跑报表的时候,就必须去了解一下zabbix的数据表结构了,得知道XX放在哪才能找到XX,既然能找到XX了,让他数据可视化起来也就不是什么问题了,废话少说开撸 0.Hosts表 mysql> DESC hosts;###这里面存有hostid.proxyid.节点信息.状态以及XXX各种信息,比较核心的一张表###+--------------------+---------------

MySql 获取数据表中随机一条数据

通过sql语句获取数据表中的随意一条数据 -- rand() 获取0到1之间的随机浮点数 -- ((select max(id) from test) - (select min(id) from test)) * rand() 获取到随机数 -- + (select min(id) from test) 保证id为 最小ID与最大ID之间的数 select * from test where id >= ((select max(id) from test) - (select min(id)