欢迎光临
我们一直在努力

简单的sql语句生成器-JSP教程,Jsp/Servlet

建站超值云服务器,限时71元/月

<%@ page contenttype="text/html; charset=gb2312" %>

<%@ page import = "java.sql.*,

java.util.*

" %>

<%!

public string chomp(string str, string separator) {

if (str == null || str.length() == 0 || separator == null) {

return str;

}

if (str.endswith(separator)) {

return str.substring(0, str.length() – separator.length());

}

return str;

}

%>

<%!

public string capitalize(string str) {

int strlen;

if (str == null || (strlen = str.length()) == 0) {

return str;

}

return new stringbuffer(strlen)

.append(character.touppercase(str.charat(0)))

.append(str.substring(1))

.tostring();

}

%>

<%

string tablename=request.getparameter("t");

if (tablename==null||"".equals(tablename))

{

out.println("参数t");

return;

}

%>

<%

connection conn;

string dbuser="sa";

string dbpassword="sa";

string dbserver="127.0.0.1"; // cant use localhost , you must use ip or cname

string dbname="bcinetdb"; // change to your db name

class.forname("com.microsoft.jdbc.sqlserver.sqlserverdriver").newinstance();

//connect to the database

conn=java.sql.drivermanager.getconnection("jdbc:microsoft:sqlserver://"+dbserver+":1433;databasename="+dbname,dbuser,dbpassword);

string sql="select * from "+tablename;// change to your table name

statement stmt=conn.createstatement();

resultset rs=stmt.executequery(sql);

resultsetmetadata meta=rs.getmetadata();

// tablename=meta.gettablename(1);

int count=meta.getcolumncount();

arraylist autoincrementfields=new arraylist();

string[] columnnames=new string[count];

string columnclassnames[]=new string[count];

for (int i=0;i<count;i++)

{

if (meta.isautoincrement(i+1)){

autoincrementfields.add(new integer(i));

}

columnnames[i]=meta.getcolumnname(i+1);

columnclassnames[i] = meta.getcolumnclassname(i + 1);

}

rs.close();

stmt.close();

conn.close();//改成自己的数据库连接释放

hashmap m=new hashmap();

m.put("java.lang.boolean","boolean");

//m.put("java.lang.integer","integer");

m.put("java.lang.integer","int");

m.put("java.lang.long","long");

m.put("java.math.bigdecimal","bigdecimal");

m.put("jjava.lang.float","float");

m.put("java.lang.double","double");

m.put("java.lang.string","string");

m.put("java.sql.date","date");

m.put("java.sql.time","time");

m.put("java.sql.timestamp","timestamp");

m.put("java.lang.object","object");

stringbuffer select = new stringbuffer ("select ");

stringbuffer insert1 = new stringbuffer ("insert into ");

insert1.append(tablename);

insert1.append("(");

stringbuffer insert2 = new stringbuffer (" )values( ");

stringbuffer update = new stringbuffer (" update ");

update.append(tablename);

update.append(" set ");

stringbuffer insertp1 = new stringbuffer (insert1.tostring());

stringbuffer insertp2 = new stringbuffer (insert2.tostring());

stringbuffer updatep = new stringbuffer (update.tostring());

for (int i=0;i<count;i++)

{

select.append(columnnames[i]);

select.append(",");

if (!autoincrementfields.contains(new integer(i))){

insert1.append(columnnames[i]);

insert1.append(",");

insertp1.append(columnnames[i]);

insertp1.append(",");

insert2.append("\"+");

insert2.append(columnnames[i]);

insert2.append("+\"");

insert2.append(",");

insertp2.append("?");

insertp2.append(",");

update.append(columnnames[i]);

update.append(" = \"+");

update.append(columnnames[i]);

update.append("+\",");

updatep.append(columnnames[i]);

updatep.append(" = ");

updatep.append("?");

updatep.append(",");

}

}

select=new stringbuffer(chomp(select.tostring(),","));

select.append(" from ");

select.append(tablename);

select.append("");

insert1=new stringbuffer(chomp(insert1.tostring(),","));

insert2=new stringbuffer(chomp(insert2.tostring(),","));

insert2.append(")");

insert1.append(insert2);

update=new stringbuffer(chomp(update.tostring(),","));

update.append(" where ");

if (autoincrementfields.size()>0)

{

update.append(columnnames[((integer)autoincrementfields.get(0)).intvalue()]);

update.append(" = \"+");

update.append(columnnames[((integer)autoincrementfields.get(0)).intvalue()]);

update.append("+\"");

}

insertp1=new stringbuffer(chomp(insertp1.tostring(),","));

insertp2=new stringbuffer(chomp(insertp2.tostring(),","));

insertp2.append(")");

insertp1.append(insertp2);

updatep=new stringbuffer(chomp(updatep.tostring(),","));

updatep.append(" where ");

if (autoincrementfields.size()>0)

{

updatep.append(columnnames[((integer)autoincrementfields.get(0)).intvalue()]);

updatep.append(" = ");

updatep.append("?");

}

%>

<html>

<head>

<title>sql语句生成啦</title>

<meta http-equiv="content-type" content="text/html; charset=gb2312">

</head>

<body>

<p>表 <%=tablename%> 共

<%

out.print(count);

out.print(" 个字段 ");

iterator iterator=autoincrementfields.iterator();

int j=autoincrementfields.size();

while(iterator.hasnext())

{j–;

if (j==autoincrementfields.size()-1){

out.print("其中 ");

}

int i=((integer)iterator.next()).intvalue();

out.print(columnnames[i]);

if (j!=0){

out.print(" , ");

}

else

{

out.print(" 是 autoincrement 类型不出现在sql语句中");

}

}

%>

<%

out.print("<br>");

out.println(select);

out.print("<br>");

out.print("<br>");

out.println(insert1);

out.print("<br>");

out.print("<br>");

out.println(update);

out.print("<br>");

out.print("<br>");

out.println(insertp1);

out.print("<br>");

out.print("<br>");

out.println(updatep);

%>

</p>

<hr>

<p>

<%

for (int i=0;i<count;i++)

{

out.print("private ");

out.print(columnclassnames[i]);

out.print(" ");

out.print(columnnames[i]);

out.println(";<br>");

}

%>

<%

out.println("<br>");

for (int i=0;i<count;i++)

{

out.print("public void set");

out.print(capitalize(columnnames[i]));

out.print("(" );

out.print(columnclassnames[i]);

out.print(" ");

out.print(columnnames[i]);

out.print("){");

out.println("<br>");

out.print("this.");

out.print(columnnames[i]);

out.print("=");

out.print(columnnames[i]);

out.print("; }");

out.println("<br>");

out.print("public ");

out.print(columnclassnames[i]);

out.print(" get");

out.print(capitalize(columnnames[i]));

out.print("() {");

out.println("<br>");

out.print("return ");

out.print(columnnames[i]);

out.println(";}<br>");

}

%>

</p>

<hr>

<p>

<%

for (int i=0;i<count;i++)

{

out.print(columnnames[i]);

out.print(" = ");

out.print(tablename);

out.print(".get");

out.print(capitalize(columnnames[i]));

out.println("();<br>");

}

%>

</p>

<hr>

<p>

parameterparser parser = new parameterparser(request);

<br />

<%

for (int i=0;i<count;i++)

{

out.print("string ");

out.print(columnnames[i]);

out.print(" = ");

out.print("parser.getstringparameter(\"");

out.print(columnnames[i]);

out.print("\",\"\");");

out.println("<br>");

}

%>

</p>

<hr>

<p>

<%

for (int i=0;i<count;i++)

{

out.print("string ");

out.print(columnnames[i]);

out.print(" = ");

out.print("request.getparameter(\"");

out.print(columnnames[i]);

out.print("\");");

out.println("<br>");

}

%>

</p>

<hr>

<pre>

connection conn = connectionmanager.getconnection();

preparedstatement stmt = null;

stringbuffer sql = new stringbuffer();

sql.append("<% out.print(insertp1); %>");

try {

stmt = conn.preparestatement(sql.tostring());

</pre>

<%

int jj=0;

for (int i=0;i<count;i++)

{

if (!autoincrementfields.contains(new integer(i))){

jj++;

out.print("stmt.set");

out.print(m.get(columnclassnames[i]));

out.print("(");

out.print(jj);

out.print(",");

out.print(columnnames[i]);

out.print(");<br>");

}}

%>

<pre>

int rows = stmt.executeupdate();

}

}

catch (sqlexception e) {

throw e;

}

finally {

if (stmt != null) {

stmt.close();

}

if (conn != null) {

connectionmanager.colse(conn);

}

}

</pre>

<hr>

<pre>

connection conn = connectionmanager.getconnection();

preparedstatement stmt = null;

stringbuffer sql = new stringbuffer();

sql.append("<% out.print(updatep); %>");

try {

stmt = conn.preparestatement(sql.tostring());

</pre>

<%

int jjj=0;

for (int i=0;i<count;i++)

{

if (!autoincrementfields.contains(new integer(i))){

jjj++;

out.print("stmt.set");

out.print(m.get(columnclassnames[i]));

out.print("(");

out.print(jjj);

out.print(",");

out.print(columnnames[i]);

out.print(");<br>");

}}

if (autoincrementfields.size()>0)

{

jjj++;

out.print("stmt.set");

out.print(m.get(columnclassnames[((integer)autoincrementfields.get(0)).intvalue()]));

out.print("(");

out.print(jjj);

out.print(",");

out.print(columnnames[((integer)autoincrementfields.get(0)).intvalue()]);

out.print(");<br>");

}

%>

<pre>

int rows = stmt.executeupdate();

}

}

catch (sqlexception e) {

throw e;

}

finally {

if (stmt != null) {

stmt.close();

}

if (conn != null) {

connectionmanager.colse(conn);

}

}

</pre>

<hr>

<pre>

&lt;table width="90%" border="0" align="center" cellpadding="1" cellspacing="1"&gt;

&lt;form name="form1" method="post" action=""&gt;

</pre>

<%

for (int i=0;i<count;i++)

{

if (!autoincrementfields.contains(new integer(i))){

out.print("&lt;tr&gt;");

out.print("&lt;td&gt;");

out.print(columnnames[i]);

out.print("&lt;/td&gt;");

out.print("&lt;td&gt;");

out.print("&lt;input type=\"text\" name=\"");

out.print(columnnames[i]);

out.print("\"&gt;");

out.print("&lt;/td&gt;");

out.print("&lt;/tr&gt;");

out.println("<br>");

}

}

/* if (autoincrementfields.size()>0)

{

out.print("&lt;input type=\"hidden\" name=\"");

out.print(columnnames[((integer)autoincrementfields.get(0)).intvalue()]);

out.print("\"&gt;");

}*/

%>

<pre>

&lt;/form&gt;

&lt;/table&gt;

</pre>

<hr>

<pre>

&lt;table width="90%" border="0" align="center" cellpadding="1" cellspacing="1"&gt;

&lt;form name="form1" method="post" action=""&gt;

</pre>

<%

for (int i=0;i<count;i++)

{

if (!autoincrementfields.contains(new integer(i))){

out.print("&lt;tr&gt;");

out.print("&lt;td&gt;");

out.print(columnnames[i]);

out.print("&lt;/td&gt;");

out.print("&lt;td&gt;");

out.print("&lt;input type=\"text\" name=\"");

out.print(columnnames[i]);

out.print("\" value=\"&lt;%=");

out.print(columnnames[i]);

out.print("%&gt;\"&gt;");

out.print("&lt;/td&gt;");

out.print("&lt;/tr&gt;");

out.println("<br>");

}

}

if (autoincrementfields.size()>0)

{

out.print("&lt;input type=\"hidden\" name=\"");

out.print(columnnames[((integer)autoincrementfields.get(0)).intvalue()]);

out.print("\" value=\"&lt;%=");

out.print(columnnames[((integer)autoincrementfields.get(0)).intvalue()]);

out.print("%&gt;\"&gt;");

}

%>

<pre>

&lt;/form&gt;

&lt;/table&gt;

</pre>

</body>

</html>

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 简单的sql语句生成器-JSP教程,Jsp/Servlet
分享到: 更多 (0)

相关推荐

  • 暂无文章