MYSQL网页编程之jsp中挪用Bean,然后在Bean中挪用oracl...
DBaaS会导致单一客户利润率的下降,因为云服务一般是依靠MySQL学习教程数来抵消较低的利润率。 老手在写程序时,必定要胆大心小,并且要有耐烦,不当协,不懂就翻书,网上查材料,问伴侣,坚定举行究竟。比来一向凭着ASP的常识在探索中行进,一跑崎岖,自不必说了。言回正传。
创建一个登录体系,请求到达以下目标。
1、用户经由过程Bean来认证和失掉失掉用户信息。
2、纪录用户登录信息,如用户登录次数,最初登录工夫。
3、纪录操纵日记。
未办理及困惑的成绩:
1、用户登录后的Session是不是能够经由过程Bean来判别。
2、经由过程Bean挪用ORACLE存储历程,前往select后的纪录集。
操纵步骤:
1、创建用户考证Bean:
publicbooleancheckUser()throwsException{
booleanflag=false;
ResultSetrs=conn.executeQuery(getSql());
if(rs.next()){
userID =rs.getString("userID");
userName =rs.getString("userName");
userPWD =rs.getString("userPWD");
userUnit =rs.getString("userUnit");
userLoadTime =rs.getDate("userLoadTime");
userLoadNumeric=rs.getInt("userLoadNumber");
flag=true;
}
rs.close();
conn.closeConn();
returnflag;
} 经由过程前往的值判断用户是不是存在。
2、纪录用户登录信息:
publicvoidchangeLoginInfo(StringuserID)throwsException{
Stringsql="updateSystemUserTablesetUserLoadTime=sysdate,UserLoadNumber=UserLoadNumber+1whereuserID="+userID+"";
conn.executeUpdate(sql);
} 3、纪录操纵日记:
第一步,创建存储历程
createorreplaceprocedureproc_writeNote(
descriptioninvarchar2,
wNameinvarchar2,
wIPinvarchar2
)
is
begin
insertintoSystemnote(Id,Description,Wname,Wip)values(Autoaddid.Nextval,description,wName,wIP);
commit;
endproc_writeNote; 第二步、创建操纵存储历程的办法(重写prepareCall()办法)
publicCallableStatementprepareCall(Stringproduce){
try{
conn=DriverManager.getConnection(DBUrl,UserID,UserPWD);
cstmt=conn.prepareCall(produce);
}
catch(SQLExceptionex){
System.err.print("prepareCall():"+ex.getMessage());
}
returncstmt;
} 第三步,实行存储历程
publicvoidwriteNote(Stringdescription,StringwName,StringwIP){
Stringsql="{callproc_writeNote(?,?,?)}";
try{
CallableStatementcstmt=conn.prepareCall(sql);
cstmt.setString(1,description);
cstmt.setString(2,wName);
cstmt.setString(3,wIP);
cstmt.executeUpdate();
}
catch(SQLExceptionex){
System.out.print("writeNote():"+ex.getMessage());
}
}RDBMS并非没有局限性。它们难以扩展,需要大量的资源来配置和维护,比如时间、硬件和人力。同样,它们往往遵循峰值性能模型,这就要求系统按照峰值容量来配置可用性,而不考虑典型的数据使用情况。 原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。 多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。 不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关 个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。 不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理? 换言之,只有在不断的失败中尝试成功,而关于失败的总结却是很少的 是要和操作系统进行Socket通讯的场景。否则建议慎重! 这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。
页:
[1]