zoukankan      html  css  js  c++  java
  • 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. */  
    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. }  
     
     
  • 相关阅读:
    引用 AspNetCoreRateLimit => StatusCode cannot be set because the response has already started.
    Sublime Json 格式化
    gitlab 建立本地仓库
    R语言 启动报错 *** glibc detected *** /usr/lib64/R/bin/exec/R: free(): invalid next size (fast): 0x000000000263a420 *** 错误 解决方案
    范数
    SparkR-Install
    R语言扩展包dplyr——数据清洗和整理
    R语言与机器学习学习笔记
    sparkR原理
    data.frame类型数据如何将第一列值替换为行号
  • 原文地址:https://www.cnblogs.com/toSeeMyDream/p/5233547.html
Copyright © 2011-2022 走看看