通过JDBC取得数据库的连接,然后关键性的代码如下:
DatabaseMetaData databaseMetaData = connection.getMetaData();
resultSet =databaseMetaData.getColumns(null,null,"tableName".toUpperCase(),"%");
注意:连接数据库的时候设置remarksReporting为true。
import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Properties; import org.junit.Test; /** * @description: * @author syq * @2012-8-23 */ public class ExprotDBInfo { @Test public void testExprotDBInfo() { Connection connection = null; PreparedStatement statement = null; ResultSet resultSet = null; try { Class.forName("oracle.jdbc.driver.OracleDriver"); Properties props = new Properties(); props.put("user", "orcl"); props.put("password", "orcl"); props.put("remarksReporting", "true"); /*connection = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:orcl", "zjpmsoa", "zjpmsoa"); StringBuffer sql = new StringBuffer(); //通过查询的方法获得表结构信息,此种方法不够灵活而且不通用,只适用于oracle sql.append("SELECT a.column_name,b.data_type||'('|| case b.data_type when 'NUMBER' then b.data_precision when 'VARCHAR2' then b.char_length end||','||b.data_scale||')' AS type,a.comments" + " FROM user_col_comments a , user_tab_columns b" + " WHERE a.table_name= b.table_name AND a.column_name =b.column_name AND a.table_name =upper(?)" + " ORDER BY a.column_name"); statement = connection.prepareStatement(sql.toString()); statement.setString(1, "kd_vehicle_data"); resultSet = statement.executeQuery();*/ connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", props); DatabaseMetaData databaseMetaData = connection.getMetaData(); //获得指定tableName对应的列 resultSet =databaseMetaData.getColumns(null,null,"tableName".toUpperCase(),"%"); /*ResultSetMetaData resultSetMetaData = resultSet.getMetaData(); for(int i =0;i<resultSetMetaData.getColumnCount();i++){ System.out.println(resultSetMetaData.getColumnTypeName(i+1)+"\t"+resultSetMetaData.getColumnLabel(i+1)); }*/ StringBuffer result = new StringBuffer(); while(resultSet.next()){ result.append(resultSet.getString("COLUMN_NAME")).append("\t") .append(resultSet.getString("TYPE_NAME")).append("\t") .append(resultSet.getString("IS_NULLABLE")).append("\t") .append(resultSet.getString("REMARKS")).append("\t") .append("\n"); } System.out.println(result.toString()); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { if (null != connection) { try { connection.close(); } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } } }
相关推荐
获取表的结构,无论是任何数据库,只要把驱动包加进去就可以了。
建立连接后,我们可以编写SQL查询来获取表结构。对于MySQL,可以使用`DESCRIBE`语句: ```java String tableName = "表名"; String query = "DESCRIBE " + tableName; Statement statement = connection....
通过以上介绍,我们可以看到在DB2中获取表结构信息并不复杂,只需要通过适当的命令或者编写简单的SQL查询即可实现。对于开发者而言,了解这些基本操作对于日常开发工作至关重要。希望本文能够帮助您更好地理解和掌握...
除了获取表名,我们还可以执行其他查询,如获取表结构、查询数据等。例如,如果我们想获取某表`users`的列信息,可以执行`DESCRIBE users;`,然后处理结果集以获取列名和类型。 最后,别忘了在完成操作后关闭资源,...
这通常适用于有编程基础的用户,他们可以通过阅读源码来理解如何连接数据库、获取表结构信息,并将其转换为Excel格式。 Release包(ExportTableStructure--Release.rar)则可能是预编译的可执行文件或者已经打包好...
4. **编程接口**:对于开发人员,可以通过EAS6.0提供的API或SDK来获取表结构信息。例如,Java的JDBC接口允许开发者编写代码来查询数据库元数据,获取表结构。 在实际工作中,理解表结构对于以下任务至关重要: - *...
例如,在电商系统中,商品库存信息可能分布在不同的数据库中,通过JDBC数据同步,可以确保所有数据库的商品库存状态实时更新,防止超卖情况发生。 ### JDBC基础 JDBC是Java API,提供了一套标准的接口和类,用于...
2. 获取元数据:使用SQL语句(如`DESCRIBE`或`INFORMATION_SCHEMA`)获取表的结构信息。 3. 结构比较:遍历并比较两表的字段、数据类型、主键、索引和约束,记录差异。 4. 输出结果:将比较结果以报告形式展示,可能...
4. 查询结果或操作确认信息通过ModelAndView或者RequestDispatcher转发回JSP页面进行显示。 5. JSP页面根据接收到的数据渲染HTML,返回给用户。 通过这个项目,学习者可以深入理解Web开发的基本原理,包括MVC设计...
MyBatis是一个流行的Java持久层框架,它简化了与数据库之间的交互,允许开发者将SQL查询直接集成到Java代码中。本教程将引导你通过JDBC...记得在运行代码之前,确保数据库中存在`User`表,并且表结构与你的查询匹配。
2. SQL查询:执行SQL语句获取表结构信息。 3. 模板引擎:FreeMarker或其他类似的模板引擎,用于动态生成Word文档。 4. 文档转换:将数据和模板结合,生成Word格式的文档。 5. 配置管理:通过ini或properties文件管理...
2. 获取元数据:执行SQL语句,如`DESCRIBE table_name`或`SELECT * FROM information_schema.columns`,获取表结构信息。 3. 构建Word文档:使用Apache POI等库创建Word文档,将表结构信息填充到文档中,包括表名、...
实验八“通过JDBC方式访问数据库”是针对数据库系统概论的一个实践环节,旨在让学生掌握使用Java语言通过JDBC(Java Database Connectivity)接口来设计数据库应用程序,以及对数据库进行操作。JDBC是一种标准API,...
综上所述,通过JDBC连接程序实现数据库数据迁移是一个涉及多步骤的过程,包括连接数据库、编写查询、处理结果、批量插入、资源管理和错误处理。在实际操作中,应根据具体业务需求进行调整和优化,确保迁移的高效和...
4. **ojdbc6-11.2.0.1.0.jar** 和 **ojdbc14-10.2.0.4.0.jar**:这些是Oracle JDBC驱动程序,允许Java应用程序连接到Oracle数据库并执行SQL操作,包括获取表结构信息。 5. **poi-3.5-FINAL.jar**:Apache POI 是一...
通过Connection对象的`getMetaData()`方法可以获得关于数据库的信息,如表结构、列信息等,这对于数据库迁移或自动化工具非常有用。 ### 8. 避免SQL注入 PreparedStatement的参数化特性可有效防止SQL注入攻击,...
4. 元数据访问:获取关于Hive数据库的结构信息,如表名、列名等。 5. 高级特性:支持事务、批处理、预编译语句等功能。 在动态加载Hive JDBC 1.1.0驱动时,我们需要确保包含所有必需的jar包。"test-hive1.1.0"可能...
总的来说,Java JDBC学生数据管理系统是一个将Java编程、JDBC数据库访问技术以及可视化界面设计相结合的实用工具,为教育机构或个人提供了一种便捷的方式,管理学生信息数据库。通过学习和理解这个系统,开发者可以...
总结,通过SpringBoot和MybatisPlus的结合,我们可以方便地从Java实体类生成数据库表结构,无需手动编写SQL脚本。这种方式对于快速构建原型或者在数据丢失后恢复表结构非常有用。在实际应用中,记得对重要数据进行...