|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
还有就是总有人问我到底该学习什么语言,什么语言有前途,那么我的回答是不论是C,C++,java,.net,ruby,asp或是其他语言都可以学,编程的关键不是语言,而是思想。js|数据|数据库这个类我本是在列入黉舍网页计划年夜赛时写的.如今略加修正借以会商有关JSP数据库会见优化的成绩.类的内容以下,这个类在不修正任何代码的情形下合用于MSSQL/MYSQL/ACCESS数据库的连接和基础操纵.
packagemxzc.web.dbctrl;
importjava.sql.*;
publicfinalclassSQLDBCtrl
{/*********************************************
publicSQLDBCtrl(Stringusr,Stringpwd,Stringcnstr,Stringderv)
publicsynchronizedResultSetselects(Stringsql)
publicsynchronizedvoidupdates(Stringsql)
publicsynchronizedvoidadddels(Stringsql)
数据库操纵的函数.
**********************************************/
privateStringusr;
privateStringpwd;
privateStringcnstr;
privateStringderv;
privateboolcanuse;
publicSQLDBCtrl(Stringusr,Stringpwd,Stringcnstr,Stringderv)throwsSQLException
{
this.usr=usr;
this.pwd=pwd;
this.cnstr=cnstr;
this.derv=derv;
this.canuse=true;
try
{
Class.forName(derv);
}
catch(ClassNotFoundExceptione)
{
this.canuse=false;
System.out.println("请断定"+derv+"类所对应的包已包括历程序的情况变量内.");
e.toString();
}
}
publicSQLDBCtrl()throwsSQLException
{
//这里是一个空的机关,这个机关大概发生成绩....
this.canuse=false;
}
publicStringgetUsr(){returnthis.usr;}
publicStringgetPwd(){returnthis.pwd;}
publicStringgetCnstr(){returnthis.cnstr;}
publicStringgetDerv(){returnthis.derv;}
publicvoidsetUsr(Stringusr){this.usr=usr;}
publicvoidsetPwd(Stringpwd){this.pwd=pwd;}
publicvoidsetCnstr(Stringcnstr){this.cnstr=cnstr;}
publicvoidsetDerv(Stringderv)
{//属性Derv对本类实例的可用性有主要意义.
/*
只要Derv被赋值后,这个实例才可操纵.由于这里必要加载数据库的驱动.
为了避免一个没有加载数据库驱动的实例被利用,我设置了一个Canuse属性.
只要该属性为真时,这个实例才真实的可操纵.
*/
this.canuse=true;
this.derv=derv;
try
{
Class.forName(derv);
}
catch(ClassNotFoundExceptione)
{
this.canuse=false;
System.out.println("请断定"+derv+"类所对应的包已包括历程序的情况变量内.");
e.toString();
}
}
publicboolgetCanuse()
{//是不是可举行数据库操纵?在操纵的数据库操纵之前最好是实行一下.以防堕落.
returncanuse;
}
publicsynchronizedResultSetselects(Stringsql)throwsException
{
Connectionconn=null;
Statementstmt=null;
ResultSetrs=null;
conn=DriverManager.getConnection(cnstr,usr,pwd);
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
returnrs;
}
publicsynchronizedvoidupdates(Stringsql)throwsException
{
Connectionconn=null;
Statementstmt=null;
conn=DriverManager.getConnection(cnstr,usr,pwd);
stmt=conn.createStatement();
stmt.executeUpdate(sql);
if(stmt!=null)stmt.close();
if(conn!=null)conn.close();
stmt=null;
conn=null;
}
publicsynchronizedvoidadddels(Stringsql)throwsException
{
Connectionconn=null;
Statementstmt=null;
conn=DriverManager.getConnection(cnstr,usr,pwd);
stmt=conn.createStatement();
stmt.execute(sql);
if(stmt!=null)stmt.close();
if(conn!=null)conn.close();
stmt=null;
conn=null;
}
publicstaticvoidmain(Stringargs[])throwsException
{
System.out.println("");
System.out.println("************************************************");
System.out.println("包名:mxzc.web.dbctrl");
System.out.println("类名:SQLDBCtrl");
System.out.println("特征:终极类,线程平安");
System.out.println("没有默许机关函数只能有参机关");
System.out.println("作者:梦醒之初/可心");
System.out.println("版本:1.10(Update)");
System.out.println("************************************************");
//外部测试用SQLDBCtrla=newSQLDBCtrl("","","jdbc:odbc:jspbbs","sun.jdbc.odbc.JdbcOdbcDriver");
}
}
在JSP网站中的希冀利用体例:
<jsp:useBeanid="conn"scope="session"class="mxzc.web.dbctrl.SQLDBCtrl">
<jsp:setPropertyname="conn"property="usr"value=""/>
<jsp:setPropertyname="conn"property="pwd"value=""/>
<jsp:setPropertyname="conn"property="cnstr"value="jdbc:mysql://localhost:3306/kexintemp?useUnicode=true&characterEncoding=gbk"/>
<jsp:setPropertyname="conn"property="derv"value="org.gjt.mm.mysql.Driver"/>
</jsp:useBean>
net程序员的大部门代码都靠控件拖拽完成的,虽然java也有,但是无论从美观和速度上都没发和.net比。java程序员都是代码完成的,所以java程序员常戏称.net程序员是操作员,呵呵。 |
|