找回密码
 注册
搜索
热搜: 回贴

jsp实现后台提交编程代码自动生成器

2009-12-22 00:54| 发布者: admin| 查看: 110| 评论: 0|原作者: 夙玉

摘要:这篇文章主要针对有一定jsp编程经验和SQL语句基础的爱好者,文章主要探讨如何自动调用数据库的表内字段,自动生成相关字段后台代码的编程代码,说白了就是自动生成动态网站jsp代码的代码。
........................
一、序
前几天抽空,到哈尔滨今日图灵计算机学校听了一堂张老师讲的jsp课程,内容满有趣的,简单的整理了一下课堂笔记,帖出来和大家分享一下,由于是张老师的讲课内容(那可是人家的版权啊!),这里我就给大家看个骨头了,剩下的肉(阐述方法、思想)。相信会者自然会悟出来,不会的--呵呵,接着修炼吧!
二、引言
目前的软件并不是自动生成的,一行行代码也不是自动生成的。那么,为什么我们不努力于自动生成的软件?为什么不努力于创造能够自动生成原来需要手写的一行行代码呢?这里张老师为我们提供了这样一个思路。
1、你能列出你数据库内的表里的相关字段么?
2、既然能列出来,你能否有选择地将对应的字段swich()...case n:{}中呢?
三、程序实现代码
1、列出数据库中的所有表
try
{
DatabaseMetaData dbmd = conn.getMetaData();

// 指定所需 信息的列表
String[] types = {"TABLE"};
rs1 = dbmd.getTables(null, null, "%", types);

while (rs1.next())
{
String tableName = rs1.getString(3);
String tableCatalog = rs1.getString(1);
String tableSchema = rs1.getString(2);
out.println( tableName+"
");
}
}
catch (SQLException e)
{
}
2、自动生成原来需要手写的jsp代码
<%
if (request.getParameter("tableName")!=null)
{
sql1="select * from "+request.getParameter("tableName");
rs1=stmt1.executeQuery(sql1);
ResultSetMetaData rmt;
rmt = rs1.getMetaData() ;
int columnCount = rmt.getColumnCount() ;
out.println(columnCount+"
");
%>


<%
for(int i=2;i<=columnCount;i++) //从2开始 略过 编号值
{
%>

//输出字段名


<%
}
%>




<%
}
%>
<%=rmt.getColumnName(i).trim()%>:
<%
switch( rmt.getColumnType(i) )
{
case 1://char
%>


<%
break;
case 4://int
if(rmt.getColumnName(i).trim().endsWith("_id") )
{
%>

<%
}
else
{
%>


<%
}
break;
case 12://vchar
%>

<%
break;
}
%>



最新评论

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-29 13:24 , Processed in 0.135706 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.