jdbcTemplate 操作方法

  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的操作方法

  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. }
 
 

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

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

    方法一 直接查询: SqlRowSet srcSqlRowSet = srcJdbcTemplate.queryForRowSet("SELECT * FROM tablename LIMI ...

  2. (笔记)Mysql命令desc:获取数据表结构

    desc命令用于获取数据表结构. desc命令格式:    desc 表名;同样    show columns from 表名;也能获取数据表结构. 举例如下:mysql> desc MyCl ...

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

    原文地址:http://blog.csdn.net/xqf222/article/details/6271219 本文主要整理了Informix数据库相关系统表数据,已分析整个Informix数据表结 ...

  4. Zabbix的数据表结构

    看到Zabbix的数据表结构吧,就知道数据量大了 性能问题很让人担忧,不过基于Zabbix数据库导出报表,或自动跑报表的时候,就必须去了解一下zabbix的数据表结构了,得知道XX放在哪才能找到XX, ...

  5. 25 Zabbix系统数据表结构介绍

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 25 Zabbix系统数据表结构介绍 自学Zabbix之路15.1 Zabbix数据库表结构简单解 ...

  6. navicat如何导出mysql数据表结构

    我们在创建数据库时会对字段进行设置,比如类型.长度等,如果字段多的话一个个设置非常麻烦,可以从其他地方已有的表导入数据表结构,怎么操作呢?我们拿navicat导出mysql数据表结构为例: 1.点击“ ...

  7. phpmyadmin数据表结构没有显示注释列

    新开的一个项目,用phpmyadmin作为图形化操作数据库工具.创建数据表时为其每列添加好注释,浏览数据表内容有显示注释内容,但是查看数据表结构没有显示注释列,不方便直观查看数据表每列的意思. 上网搜 ...

  8. .net 调用Oracle.Data.Access 组件提供的用于批量操作的方法—获取数据库表结构方法和跟参数赋值方法

    1./// <summary> /// 获取当前目标表结构 /// </summary> /// <param name="tableName"> ...

  9. Activiti学习(二)数据表结构

    Activiti工作流引擎数据库表结构 数据库表的命名 Acitiviti数据库中表的命名都是以ACT_开头的.第二部分是一个两个字符用例表的标识.此用例大体与服务API是匹配的. l        ...

随机推荐

  1. 解决VS2012【加载......符号缓慢】的问题

    http://blog.csdn.net/shi0090/article/details/19411777 最近在用VS2012调试时,经常出现"加载......符号缓慢的问题", ...

  2. eclipse下的tomcat内存设置大小

    在eclipse中设置,居然可以了, 设置步骤如下: 1.点击eclipse上的debug图标旁边的下拉箭头 2.然后选择Run Configurations, 3.系统弹出设置tomcat配置页面, ...

  3. 2.2_线性表的顺序存储结构_参考集合ArrayList

    [线性表的顺序存储从结构] 指的是用一段连续的存储单元一次储存线性表的数据元素. [线性表的顺序存储的结构代码 C语言版] #define MAXSIZE 20 /*存储空间初始分配量*/ typed ...

  4. 11_Servlet基础知识

    [概念] Servlet通常被称为服务端小程序,是运行在服务端的程序,用于处理及相应客户端的请求. Servlet是用java语言开发网页动态资源的技术. [特点] 1.Servlet是个特殊的Jav ...

  5. hanoi双塔

    汉诺塔,经典的递归. 经典的汉诺塔游戏相信很多同学都会玩的,规则就不用赘述,百科一下就OK.有三个柱子A,B,C,A柱子上套有n个大小不等的盘子,任意两个盘子,上面的盘子一定小于下面的盘子.现在请你编 ...

  6. Google设计理念

    Google的十大信条 我们首次拟就这“十大信条”还是在Google刚刚成立没几年的时候.此后,我们时常重新审视这份清单,看看它是否依然适用.我们希望这些信条永不过时,而您也可以监督我们是否遵守了这些 ...

  7. php 工作模式

    PHP运行模式 1.cgi通用网关接口 (少用)2.fast-cgi常驻型的 cgi [ngixn常用]3.cli命令运行 (命令行用得多)4.web模块模式(apache等web服务器的运行模式)[ ...

  8. jsonp使用规范

    这两天花了很多时间弄研究jsonp这个东西, 可是无论我怎么弄..TMD就是不进入success函数,并且一直进入error函数...让我着实DT啊. 可以看下我之间的提问(这就是我遇到的烦恼).. ...

  9. 使用python抓取有路网图书信息(原创)

    以前挺喜欢去有路网买二手书的,但是有路网有个缺陷,就是放在图书列表中的书很多都没货了,尤其是一些热门的方向,比如android,在列表中的书大多都没有货了,你必须一个一个点进入查看详细信息才能得知图书 ...

  10. Python数据结构——散列表

    散列表的实现常常叫做散列(hashing).散列仅支持INSERT,SEARCH和DELETE操作,都是在常数平均时间执行的.需要元素间任何排序信息的操作将不会得到有效的支持. 散列表是普通数组概念的 ...