`

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. }  
分享到:
评论

相关推荐

    将postgres 表结构和数据转换到sqllite数据库中的工具类源码

    2. **获取表结构**:通过SQL查询获取PostgreSQL中的表结构,包括字段名、数据类型、主键信息等。 3. **创建SQLite表**:根据获取的PostgreSQL表结构,在SQLite中创建相应的表。这可能涉及到数据类型的映射,因为两...

    JdbcTemplate实例

    `JdbcTemplate`的`execute()`方法可以用来执行SQL DDL(Data Definition Language)语句,如创建表、删除表或修改表结构。在示例中,`execute("CREATE TABLE USER (user_id integer, name varchar(100))")`用于创建...

    Struts2+Spring+EasyUI+JDBCTemplate学习源码

    这个学习源码项目是一个完整的运行环境,包含了数据库脚本,意味着你可以导入数据库文件来创建必要的表结构,然后运行项目,观察它们如何协同工作。这将帮助你理解四大技术之间的集成和交互方式,例如,Struts2如何...

    JDBC连接池&JDBCTemplate

    - `05-实体类`是Java对象,它们对应数据库中的表结构,用于数据的封装和转换。 - `08-初始项目`可能是项目的初始化配置,包括了连接池和Spring的配置。 - `04-数据库脚本`包含了创建数据库表的SQL脚本。 - `06-其他...

    阿里的EasyExcel+Mysql方式实现数据库数据导出生成exce

    这里通常会涉及到JDBC或者MyBatis等数据库访问技术,用于执行SQL查询获取数据。获取到数据后,使用EasyExcel的write方法将数据写入到Excel文件中。 接着,我们讨论如何将Excel数据保存到Mysql数据库。首先,你需要...

    JdbcTemplate基本使用

    它通常用于执行非查询操作,如创建或修改表结构。 2. **update方法**:此方法适用于执行DML(数据操纵语言)语句,如INSERT、UPDATE、DELETE等。它返回受影响的行数,可以帮助我们了解操作是否成功。 3. **...

    springboot-jpa加上jdbctemple

    这些类通常会用到JPA的注解,如`@Entity`、`@Table`、`@Id`等,来描述数据库表结构和主键。 总结起来,"springboot-jpa加上jdbctemple"的主题涉及Spring Boot项目中JPA和JdbcTemplate的联合使用,旨在提供高效、...

    SpringMVC实现数据库连接--jdbcTemplate

    这里,我们创建了一个简单的GET请求,从"users"表中获取所有用户。`UserRowMapper`实现了`RowMapper`接口,将结果集中的每一行映射为一个`User`对象。 为了使注解生效,还需要在`web.xml`中配置DispatcherServlet和...

    JDBC代码题.docx

    1. 创建数据表"beer":这需要编写SQL语句来定义表结构,例如: ```sql CREATE TABLE beer ( year INT, quarter1 INT, quarter2 INT, quarter3 INT, quarter4 INT, total INT ); ``` 2. 插入数据:根据已有...

    tree easyui java 树递归

    在文件列表中,"t_menu.sql"很可能是数据库的初始化脚本,用于创建菜单相关的表结构。这个脚本可能包含了创建菜单表的DDL语句,以及初始化数据的DML语句。而"menu-springMVC"可能是项目中的一个模块,包含与菜单相关...

    spring2通过jdbc的方式读取、更新数据库的clob或者blob类型的数据

    - CLOB和BLOB的读取速度通常比普通字段慢,因此在设计数据库表结构时应尽量避免频繁的读取操作。 总的来说,Spring通过JDBC提供了一套完善的接口和工具类来处理CLOB和BLOB,使得开发者无需直接与JDBC API打交道,...

    超快下载导出系统报表页面数据.docx

    - 选择“获取外部数据”中的“自文本/CSV”。 - 选择之前下载的CSV文件。 - 在向导中选择“分隔符”,勾选“逗号”选项。 - 定义关键列的格式。 - 完成导入后,数据将以表格形式出现在Excel中,保持原有的格式...

    连接数据库,根据数据库表格式导出excel数据字段内容及注释

    在本项目中,开发人员可以通过Spring的JdbcTemplate或MyBatis等ORM框架,编写SQL语句来查询数据库中的表结构和注释信息。 接下来,项目涉及到了Excel文件的生成。在Java中,可以使用Apache POI库来操作Microsoft ...

    Spring Batch读取txt文件并写入数据库的方法教程

    接下来,我们需要定义模型类(Model Class),这通常对应于数据库中的表结构。假设我们的文本文件包含用户 ID(u_id)、用户名(username)和用户兴趣(interests)等字段,我们可以创建如下的 Java 类: ```java @...

    excel 批量 导入

    在IT行业中,批量导入数据是一项常见的任务,尤其在处理大量结构化数据时,如Excel文件。Excel批量导入通常用于将数据快速地导入数据库或者应用程序,提高工作效率。在本例中,我们将探讨如何使用Java和相关的库来...

    springboot集成Tdengine

    由于TDengine的表结构比较特殊,通常包含时间戳列和测量列,因此你需要创建一个与TDengine表结构对应的Java实体类。例如: ```java public class TsdbEntity { private Long timestamp; private Double value; ...

    java实现Excel数据导入到数据库

    一旦我们有了工作表对象,就可以遍历每一行和每一列来获取数据。通常,我们可以忽略表头,只处理数据行。以下代码展示了如何读取单元格值: ```java for (Row row : sheet) { if (row.getRowNum() == 0) continue;...

    Spring数据库访问(HSQL)(三)

    在"vehicle"这个子文件中,可能包含了与车辆相关的数据库表结构或者示例数据。例如,可能存在一个名为"Vehicle"的表,有"id"(主键)、"make"(制造商)、"model"(型号)和"year"(年份)等字段。博主可能演示了...

    springboot实现将数据库中数据导出Excel

    这个文件可能是包含初始化数据库的SQL脚本,例如创建`student`表的结构和填充一些示例数据。在项目启动前运行此脚本,可以帮助开发者在测试环境中快速准备数据。 综上所述,"springboot实现将数据库中数据导出...

Global site tag (gtag.js) - Google Analytics