通过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(); } } } } }
相关推荐
获取表的结构,无论是任何数据库,只要把驱动包加进去就可以了。
java 读取表结构 mysql 数据库名: 表名: 字段描述 字段名 数据类型 是否可为空 自增 主键
3.3.4 获取表中各列的信息 3.3.5 获取索引的信息 3.3.6 获取数据库中各种信息的实例 3.4 Statement对象 3.4.1 Statement对象使用基础 3.4.2 获取所有记录 3.4.3 获取指定记录 3.5 修改数据库表 3.5.1 修改...
4、基于对象指定查询的字段,大部分时候可以忘掉表结构进行业务开发; 5、支持简单的数据库路由,读写分离(半自动,需要指定取writer还是reader,默认规则reader采用随机的方式,当然也可以手动指定); 6、...
JDBC(Java Database Connectivity):JDBC是Java提供的用于数据库访问的API,通过JDBC可以与各种数据库进行连接和交互。在该课程管理系统中,JDBC用于与MySQL数据库进行通信,包括建立连接、执行SQL语句、获取查询...
2)设计数据库及表结构,表中保存信息统计表中的信息,在mysql或其它数据库中创建数据库和表。 3)定义一个Servlet类并进行部署。该servlet的功能是负责获取表单中填写的数据并保存到步骤2)所创建的数据库表中,若...
在Windows xp下使用JSP+SQL开发,采用C/S结构,使用JDBC连接数据库。 本系统的功能有:房屋出租登记输入处理,房屋出售登记输入处理,房屋登记表修改处理(有输入、取消、确认、修改、删除等功能),房屋查询处理...
jdbc工具类,其中包含的方法有:数据库动态获取驱动,动态切换mysql与oracle,获取链接,resultSet转list,jdbc读取数据库表结构信息,判断数据库是否存在该表等内容
JDBC(Java Database Connectivity):JDBC是Java提供的用于数据库访问的API,通过JDBC可以与各种数据库进行连接和交互。在该课程管理系统中,JDBC用于与MySQL数据库进行通信,包括建立连接、执行SQL语句、获取查询...
五、表结构定义(使用表格说明) Java图书馆管理系统附全代码课程设计报告完整版全文共205页,当前为第7页。 Java图书馆管理系统附全代码课程设计报告 整版全文共205页,当前为第8页。Java图书馆管理系统附全代码...
* 数据库的动态访问:获取数据库和表的结构,根据表的结构自动生成POJO 三、课程体系 〖Java学习指南系列〗:包含入门与进阶语法,Swing桌面开发,安卓开发,JavaFX开发,网络通信Socket,数据结构与算法等课程。 ...
Java高级程序设计 第8章 Java数据库编程 8.1 应用... 8.3 任务实施 任务一 编写程序实现对图书信息表的增删改查操作 任务需求: 现有图书信息表bookinfo(序号,图书编号,图书名称,作者,出版社,单价,出版日期,I
JDBC技术事实上是一种能通过JAVA语言访问任何结构化数据库的应用程序接口(API)(Sun这样说的,我也不知道是不是真的),而且现在的JDBC 3.0据Sun说也能访问Execel等电子表格程序! JDBC对于数据库的访问有四种方式,...
第12章 通过servlet和JSP使用JDBC DataSource 12.1 使用JDBC DataSource 12.2 使用servlet创建动态Web页面 12.2.1 创建一个简单的servlet 12.3 创建和配置Lo9in servlet 12.3.1 实现会员Web站点 12.3.2 创建...
第12章 通过servlet和JSP使用JDBC DataSource 12.1 使用JDBC DataSource 12.2 使用servlet创建动态Web页面 12.2.1 创建一个简单的servlet 12.3 创建和配置Lo9in servlet 12.3.1 实现会员Web站点 12.3.2 创建...
第12章 通过servlet和JSP使用JDBC DataSource 12.1 使用JDBC DataSource 12.2 使用servlet创建动态Web页面 12.2.1 创建一个简单的servlet 12.3 创建和配置Lo9in servlet 12.3.1 实现会员Web站点 12.3.2 创建...
第12章 通过servlet和JSP使用JDBC DataSource 12.1 使用JDBC DataSource 12.2 使用servlet创建动态Web页面 12.2.1 创建一个简单的servlet 12.3 创建和配置Lo9in servlet 12.3.1 实现会员Web站点 12.3.2 创建...
实例151 获得Class对象表示实体的名称 197 实例152 查看类的声明 198 实例153 查看类的成员 199 实例154 按继承层次对类排序 201 实例155 查看内部类信息 202 7.2 反射的进阶 203 实例156 动态设置类的私有域 203 ...