jdbcTemplate 获取数据表结构

摘要:
JdbcTemplate操作方法Java代码/**1。方法1:*/Stringsql=“select*from”+tableName//RowCountCallbackHandlerrcch=newRowCountCallback Handler();//this.jdbcTemplateDao.query(sql,rcch);//字符串[]coloumName=rcch.getColu
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. */  
  22. String sql = "select * from "+ tableName;  
  23. RowCountCallbackHandler rcch = new RowCountCallbackHandler();  
  24. this.jdbcTemplateDao.query(sql, rcch);  
  25. String[] coloumnName = rcch.getColumnNames();  
  26. 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.   
  9. import com.mysql.jdbc.Connection;  
  10. import com.mysql.jdbc.ResultSetMetaData;  
  11.   
  12. public class OperateDB {  
  13.   
  14.  public static void main(String[] args) {  
  15.   try {  
  16.    Class.forName("com.mysql.jdbc.Driver");  
  17.    String url = "jdbc:mysql://192.168.11.211/education?useUnicode=true&characterEncoding=utf-8";  
  18.    String user = "root";  
  19.    String password = "12345678";  
  20.    Connection con = (Connection) DriverManager.getConnection(url, user, password);  
  21.    Statement statement = con.createStatement();  
  22.    ResultSet result = statement.executeQuery("select * from t_sys_user");  
  23. 注意,这里,完全可以操作视图,操作表的sql语句 与操作视图的sql语句一样,    
  24.   
  25.    
  26.   
  27.   
  28.    ResultSetMetaData metadata = (ResultSetMetaData) result.getMetaData();  
  29.    List<String> metadataList = new ArrayList<String>();  
  30.    System.out.println("====================表结构=============================");  
  31.    for(int i = 1; i <= metadata.getColumnCount();i++){  
  32.     metadataList.add(metadata.getColumnName(i));  
  33.     System.out.print(metadata.getColumnName(i) + "   ");   //name  
  34.     System.out.print(metadata.getColumnTypeName(i) + "   ");  //type  
  35.     System.out.print(metadata.isNullable(i) + "   ");    //null  
  36.     System.out.print(metadata.getColumnCharacterSet(i) + "   "); //encode  
  37.     System.out.println();   //key  
  38.       
  39.    }  
  40.      
  41.    System.out.println("====================表数据=============================");  
  42.    Iterator<String> i = null;  
  43.    String oneKey = null;  
  44.    while(result.next()){  
  45.     i = metadataList.iterator();  
  46.     while(i.hasNext()){  
  47.      oneKey = i.next();  
  48.      System.out.print(oneKey + ":" + result.getString(oneKey) + "    ");  
  49.     }  
  50.     System.out.println();  
  51.    }  
  52.      
  53.    result.close();  
  54.    statement.close();  
  55.    con.close();  
  56.      
  57.   } catch (ClassNotFoundException e) {  
  58.    e.printStackTrace();  
  59.   } catch (SQLException e) {  
  60.    e.printStackTrace();  
  61.   }  
  62.     
  63.  }  
  64.   
  65. }  
 
 

免责声明:文章转载自《jdbcTemplate 获取数据表结构》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇编译第一个驱动程序笔记idea成功部署项目到tomcat后却无法访问下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

20、Windows内核函数(1)Windows驱动开发详解笔记,字符串

1、字符串 1)两种字符串,一种是char型,记录ansi字符集。每个字符一个字节。以0标志结束。在KdPrint中用%s输出。 宽字符型,wchar_t,描述unicode字符集的字符串,每个字符两个字节,以0标志结束。通过L来体现。在KdPrint中用%S输出。 如CHAR *string = "Hello"; WCHAR *string2 = L"...

JSP数据交互(二)

1.什么是会话(session) 一个会话就是在一段时间内,一个客户端与Web服务器的一连串的交互过程,同一个session对象的sessionid 相同 2.session对象常用方法 String getid() 获取sessionid String id = session.getid(); void setMaxInactiveInterval(i...

Java 音频加水印

先解释一下什么是音频加水印: 音频加水印就是在一段音频中通过混音加入另一段音频,目的是让音频可以公开分享并有效保护原创。 本文主要纪录自己关于给音频加水印的技术调研。 开发语言:Java,开发所处系统环境Mac 使用了开源软件:FFmpeg 4.2.4 FFmpeg官网下载链接:https://ffmpeg.org/download.html#build-...

JDBC原理及常见错误分析

1.JDBC:Java DataBase Connectivity 可以为多种关系型数据库DBMS 提供统一的访问方式,用Java来操作数据库 2.JDBC API 主要功能: 三件事,具体是通过以下类/接口实现: DriverManager : 管理jdbc驱动 Connection: 连接(通过DriverManager产生) Statement(P...

webMagic入门案例,启动流程,及从页面中获取元素,并放到Page对象中,并成功拿出

本例作用: 1)首次成功配置,了解软件运行机制2)从页面中获取元素三种方式 jsoup,xpath,css3) page.putField("subject","尝试存入结果项的内容,可从页面中获取值");4)page.getResultItems().get("subject") 从结果集中拿出数据5)List<String> links =...

公钥与私钥

在对称加密的时代,加密和解密用的是同一个密钥,这个密钥既用于加密,又用于解密。这样做有一个明显的缺点,如果两个人之间传输文件,两个人都要知道密钥,如果是三个人呢,五个人呢?于是就产生了非对称加密,用一个密钥进行加密(公钥),用另一个密钥进行解密(私钥)。 1.公钥私钥原理 张三有两把钥匙,一把是公钥,另一把是私钥。    张三把公钥送给他的朋友们—-李四、...