- 浏览: 570323 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
JYY282:
[i][/i]
Ecshop与Shopex的比较 -
qq247890212:
我也遇见这问题了,真诡异。重新下载个猫换了就好了。 太浪费时间 ...
诡异:ClassNotFoundException: org.springframework.web.filter.CharacterEncoding
From:http://blog.csdn.net/joeyshi/article/details/4138466
做制作开发平台时,首要的一点是如何取得数据库表结构信息。一般通用的做法就是通过JDBC中的ResultSetMetaData类来进行操作,当你取得了数据库表结构信息后,比如说表的每个字段名称,字段类型等。
首先取得数据库连接后取得DatabaseMetaData。
DatabaseMetaData dbmd = con.getMetaData();
con是一个数据库连接,直接通过连接信息取得。
然后我们就可以取当前数据库中的所有表:
ArrayList v = new ArrayList();
ResultSet rs = null;
String[] typeList = new String[] { "TABLE" };
rs = dbmd.getTables(catalog, schema, null, typeList);
for (boolean more = rs.next(); more; more = rs.next()) {
String s = rs.getString("TABLE_NAME");
String type = rs.getString("TABLE_TYPE");
if (type.equalsIgnoreCase("table") && s.indexOf("$") == -1)
v.add(s);
}
其中的rs.getString("TABLE_NAME");方法就是取得表名。
取得表名我们在执行select * from tablename 的方法,取得结果集:
String sql = "select * from "+tableName;
Statement state = con.createStatement();
ResultSet rs = state.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData() ;
for(int i = 1; i <= rsmd.getColumnCount(); i++)
{
String colname = rsmd.getColumnName(i);
String typeName = rsmd.getColumnTypeName(i);
int itype = rsmd.getColumnType(i);
int size = rsmd.getColumnDisplaySize(i);
int precision=rsmd.getPrecision(i);
int n = rsmd.isNullable(i);
int scale=rsmd.getScale(i);
boolean nullable = true;
switch (n) {
case 0: // '/0'
nullable = false;
break;
case 1: // '/001'
nullable = true;
break;
default:
nullable = true;
break;
}
SQLColumn col = new SQLColumn(colname);
SQLType type = simpleType(typeName, itype);
if (type.allowsParameters())
type.setParameterString("" + size);
col.setType(type);
col.setIType(itype);
col.setSize(size);
col.setScale(scale);
col.setPrecision(precision);
col.setNullable(nullable);
col.setReadOnly(rsmd.isReadOnly(i));
col.setAutoIncrement(rsmd.isAutoIncrement(i));
col.setSearchable(rsmd.isSearchable(i));
col.setCurrency(rsmd.isCurrency(i));
col.setCaseSensitive(rsmd.isCaseSensitive(i));
col.setSigned(rsmd.isSigned(i));
col.setClassType(rsmd.getColumnClassName(i));
col.setDisName(rsmd.getColumnLabel(i));
if ( col.getDisName().length() > 0 )
col.setName(col.getDisName()) ;
columns.add(col);
}
以上操作就取得了表的每个字段信息。得到这些字段信息,就可以为数据库层的各种操作生成所需的代码了。
发表评论
-
jBoss下java.lang.NoSuchMethodException: org.hibernate.validator.ClassValidator
2012-01-17 18:09 1633项目中使用了hibernate-distribution-3. ... -
JavaScript去除空格的三种方法 (trim)
2012-02-28 11:15 750方法一:个人认为最好的方法.采用的是正则表达式,这是最核 ... -
学习Oracle中Blob和Clob一点点心得
2012-02-28 11:19 1026Blob是指二进制大对象也就是英文Binary Larg ... -
oracle to_date()用法
2012-02-28 11:19 11461、select to_date('2011-01-01 00 ... -
racle to_char格式化函数
2012-02-28 11:19 856Postgres 格式化函数提供一套有效的工具用于把各种数据类 ... -
Oracle数据类型
2011-12-05 17:40 0ORACLE的数据类型 -- ORACLE的数据类型常用的数据 ... -
如果要得到一个表的某一列的sqltype
2011-12-05 17:38 0如果要得到一个表的某一列的sqltype,有两种方式。 之所以 ... -
Oracle 配置TNS
2011-12-02 11:36 758编辑相应目录的tnsnames.ora文件:oracle10g ... -
Java删除文件及文件夹
2011-12-01 10:05 855Java删除文件及文件夹: p ... -
SQLException: ORA-01460: unimplemented or unreasonable conversion reque
2011-11-30 18:04 2364From:http://lianj-lee.iteye. ... -
Java中文乱码
2011-12-01 10:05 836在Java Web系统中出现中 ... -
Eclipse项目的叹号和X号问题解决方法
2011-11-30 13:30 1873经常看到一些人遇到这个问题,自己也偶尔会碰到,故总结了该问题的 ... -
JSTL的EL表达式失效:${ctx}
2011-12-01 10:06 1752项目中使用了JSTL1.1,然后在web.xml中使用了 ... -
诡异:ClassNotFoundException: org.springframework.web.filter.CharacterEncoding
2011-12-01 10:07 4919java.lang.ClassNotFoundExceptio ... -
java.lang.NoClassDefFoundError: javax/el/ELException
2011-12-01 10:08 1447From:http://blog.csdn.net/gtuu0 ... -
java.lang.ClassNotFoundException: javax.el.ELException
2011-11-30 10:22 0在myeclipse 7.5中,如果把jsp-api.jar ... -
java.lang.NullPointerException at org.apache.jsp.index_jsp._jspInit
2011-11-30 10:10 0java.lang.NullPointerExcep ... -
使用JSTL标签来访问list并判断list中的选中项
2011-11-29 10:15 1067From:http://www.abc188.com/info ... -
org.springframework.web.HttpMediaTypeNotAcceptableException:
2011-11-29 10:13 11135From:http://cmzx3444.iteye.com/ ... -
将前台json对象传入java后台
2011-11-29 10:01 1492http://wangqinghua123.iteye.com ...
相关推荐
、发货方式) 第三章 功能分析 第四章 系统实现 4、1 数据库连接 本软件使用 jdbc 连接数据库,基本思想为数据库中每个表建立一个 Connectio类, 当要对表中数据进行操作时,创建相关记录集,即可引用类中得响应...
//取得数据库中的数据 System.out.println(s + " " + f); /*String t = rs.getString(1); String l = rs.getString(2); System.out.println(t + " " + l);*/ /*jdbc提供了两种方法识别字段,一种是使用getXXX...
系统分析3 2.1需求分析3 2.1.1系统需求3 2.1.2功能需求3 2.1.3数据结构4 2.2概念结构设计(E—R图)5 2.4逻辑结构设计(关系模式---关系)8 第三章 功能分析8 第四章 系统实现9 4.1 数据库连接9 4.2主界面9 4.3 创建...
我们掌握了数据库及其应用技术、数据库原理、计算机网络技术等课程,对数据库的设计、应用、维护及局域网的组成有了深刻的认识与一定的动手实践能力,考取了信息处理、程序设计、数据库技术等国家IT认证。...
"10% "装箱、拆箱、集合及泛型 "作业提交及代码评审 " " "7 "JDBC "1、使用JDBC操作数据库 2、JDBC事务 "12% "操作数据库、事务 "笔试或在线考试 "12% "JDBC访问数据库步骤、JDBC事务 "作业提交及代码评审 " " "8 ...
5.7.1、创建数据库表 5.7.2、程序实现思路 5.7.3、程序实现 5.8、本章摘要 5.9、开发实战讲解(基于Oracle数据库) 第6章 JSP内置对象 6.1、JSP内置对象概览 6.2、四种属性范围 6.2.1、page属性范围...
5.7.1、创建数据库表 5.7.2、程序实现思路 5.7.3、程序实现 5.8、本章摘要 5.9、开发实战讲解(基于Oracle数据库) 第6章 JSP内置对象 6.1、JSP内置对象概览 6.2、四种属性范围 6.2.1、page属性范围...
5.7.1、创建数据库表 5.7.2、程序实现思路 5.7.3、程序实现 5.8、本章摘要 5.9、开发实战讲解(基于Oracle数据库) 第6章 JSP内置对象 6.1、JSP内置对象概览 6.2、四种属性范围 6.2.1、page属性范围...
5.7.1、创建数据库表 5.7.2、程序实现思路 5.7.3、程序实现 5.8、本章摘要 5.9、开发实战讲解(基于Oracle数据库) 第6章 JSP内置对象 6.1、JSP内置对象概览 6.2、四种属性范围 6.2.1、page属性范围...
5.7.1、创建数据库表 5.7.2、程序实现思路 5.7.3、程序实现 5.8、本章摘要 5.9、开发实战讲解(基于Oracle数据库) 第6章 JSP内置对象 6.1、JSP内置对象概览 6.2、四种属性范围 6.2.1、page属性范围...
5.7.1、创建数据库表 5.7.2、程序实现思路 5.7.3、程序实现 5.8、本章摘要 5.9、开发实战讲解(基于Oracle数据库) 第6章 JSP内置对象 6.1、JSP内置对象概览 6.2、四种属性范围 6.2.1、page属性范围...
特别需要注意的是:数据库表为Blob类型的字段在Tfile中的fileContent类型为byte[]。Tfile的Hibernate映射文件Tfile.hbm.xml放在Tfile .java类文件的相同目录下: 代码 2 领域对象映射文件 1. 2. !DOCTYPE ...
5.7.1、创建数据库表 5.7.2、程序实现思路 5.7.3、程序实现 5.8、本章摘要 5.9、开发实战讲解(基于Oracle数据库) 第6章 JSP内置对象 6.1、JSP内置对象概览 6.2、四种属性范围 6.2.1、page属性范围...
5.7.1、创建数据库表 5.7.2、程序实现思路 5.7.3、程序实现 5.8、本章摘要 5.9、开发实战讲解(基于Oracle数据库) 第6章 JSP内置对象 6.1、JSP内置对象概览 6.2、四种属性范围 6.2.1、page属性范围...
其目的是尽可能充分利用现代技术资源与信息资源,提高政府部门行政管理工作效率和质量,辅助决策,以取得更好的工作效果。办公自动化系统是电子政务的基础,主要是辅助解决办公室事务的时间管理、成本管理、质量管理...
031503_【第15章:Java反射机制】_反射应用——取得类的结构笔记.pdf 031504_【第15章:Java反射机制】_Java反射机制的深入研究笔记.pdf 031505_【第15章:Java反射机制】_动态代理笔记.pdf 031506_【第15章:Java...
KAREN MORTON 研究人员、教育家及顾问,Fidelity信息服务公司的资深数据库管理员和性能调优专家。她从20世纪90年代初就开始使用Oracle,从事 Oracle的教学工作也已经超过10年的时间。她是Oracle ACE,也是...
通过request取得信息 161 构造Responses 162 过滤请求及响应 163 编写Filter 163 编写自定义的请求与响应 165 指定filter映射 166 调用其它网络资源 167 响应中包含其它资源 167 转移控制到其它网络组件 168 访问Web...