Web数据库学生实验报告版文档格式.docx

上传人:b****6 文档编号:19169081 上传时间:2023-01-04 格式:DOCX 页数:31 大小:84.19KB
下载 相关 举报
Web数据库学生实验报告版文档格式.docx_第1页
第1页 / 共31页
Web数据库学生实验报告版文档格式.docx_第2页
第2页 / 共31页
Web数据库学生实验报告版文档格式.docx_第3页
第3页 / 共31页
Web数据库学生实验报告版文档格式.docx_第4页
第4页 / 共31页
Web数据库学生实验报告版文档格式.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

Web数据库学生实验报告版文档格式.docx

《Web数据库学生实验报告版文档格式.docx》由会员分享,可在线阅读,更多相关《Web数据库学生实验报告版文档格式.docx(31页珍藏版)》请在冰豆网上搜索。

Web数据库学生实验报告版文档格式.docx

(20分)

db.properties

driver=org.gjt.mm.mysql.Driver

url=jdbc\:

mysql\:

//127.0.0.1/\u5B66\u751F\u5E93

userName=admin

pwd=admin

publicclassconnectionFactory{

publicstaticConnectiongetConnection()throwsSQLException{

}

请把getConnection()方法补全。

要求设计合理规范,必须有截图。

答案:

2、已知学生定义如下:

publicclassstudent{

privateintid;

privateStringstuId;

privateStringname;

privateStringdomCard;

//楼栋宿舍号“31-507”

privateStringbedNo;

//床铺号

publicstudent(StringstuId,Stringname,StringdomCard,StringbedNo){

super();

this.stuId=stuId;

this.name=name;

this.domCard=domCard;

this.bedNo=bedNo;

publicStringtoString(){

return"

id="

+id+"

;

学号="

+stuId+”;

姓名=”+name+”;

宿舍号=”+domCard+”;

床铺号=”+bedNo;

//相应get、set方法省略

有一

classstudentDatas{

publicstaticArrayList<

student>

students=newArrayList<

();

static{

studentstu=newstudent("

会计A001121"

"

张三"

31栋908"

1);

students.add(stu);

stu=newstudent("

会计A001166"

李四"

2);

会计A001177"

王五"

31栋807"

4);

}

现要求

(1)根据student类建立一个学生表用来保存student类的相关属性。

(2)通过jdbc,将studentDatas的students集合中的所有学生保持到学生表中;

(3)通过jdbc,将学生表中所有的宿舍是”31栋908”学生全部调整到“20栋371”宿舍;

(4)通过jdbc,删除"

床铺号是4的学生。

20分

3、ResultSet对象操作

请将上题中宿舍号最后一位是”8”的学生信息全部显示出来。

 

4、请用perparedStatement对象保存如下:

studentstu=newstudent("

信息A110099"

刘六"

31栋818"

8);

student对象的实例stu到数据中。

兴趣题:

1、分页功能的实现原理

方法一:

JDBC实现

用JDBC从ResultSet中取出一个指定范围(offset,span)的数据,可以采用这样的方法。

PrepareStatementps=con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

ps.setMaxRows(offsetspan);

//最终读到第几条

rs=ps.executeQuery();

rs.absolute(offset);

//定位到每页的开始记录处

while(rs.next())

//conn.prepareStatement(sql,游标类型,能否更新记录);

//游标类型:

//ResultSet.TYPE_FORWORD_ONLY:

只进游标

//ResultSet.TYPE_SCROLL_INSENSITIVE:

可滚动。

但是不受其他用户对数据库更改的影响。

//ResultSet.TYPE_SCROLL_SENSITIVE:

当其他用户更改数据库时这个记录也会改变。

//能否更新记录:

//ResultSet.CONCUR_READ_ONLY,只读

//ResultSet.CONCUR_UPDATABLE,可更新

方法二:

数据库的sql语言实现

Mysql的limitSQL为

Select*frommessagewhereforum_id=?

andcreated_time>

?

orderbycreated_timedesclimit?

?

后面的两个limit?

分别为offset,span。

Oracle的limitSQL为

select*from(selectrow_.*,rownumrownum_from(Select*frommessagewhereforum_id=?

orderbycreated_timedesc)row_whererownum<

=?

)whererownum_>

分别为offsetspan,offset。

2、请执行在mysql中执行insertinto宿舍表(学号,姓名,宿舍,床铺)values(‘会计A001121’,’张三’,’24栋908’,1)两次。

请通过JDBC将宿舍表中学号重复的记录去掉,只保留其中的一条。

5、事务处理

请先在mysql中运行如下语句:

CREATETABLE`账户表`(

`账户名`varchar(10)NOTNULLDEFAULT'

'

`金额`doubleDEFAULTNULL,

PRIMARYKEY(`账户名`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8;

------------------------------

--Recordsof账户表

INSERTINTO账户表VALUES('

张三'

'

100'

);

李四'

200'

王五'

50'

请运行如下程序查看结果

(1)程序1:

publicclasstrans1{

/**

*@paramargs

*/

publicstaticvoidmain(String[]args){

Connectionconn1=null;

Statementstmn1=null;

try{

conn1=connectionFactory.getConnection();

conn1.setAutoCommit(true);

stmn1=conn1.createStatement();

stmn1.executeUpdate("

update账户表set金额=金额+5where账户名='

"

System.out.println("

update语句执行"

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}finally{

if(stmn1!

=null)

try{

stmn1.close();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

if(conn1!

conn1.close();

(2)程序2:

publicclasstrans2{

conn1.setAutoCommit(false);

请查询数据库记录内容。

(3)完整事务程序3:

mit();

System.out.println("

insert语句执行"

conn1.rollback();

}catch(SQLExceptione1){

//TODOAuto-generatedcatchblock

e1.printStackTrace();

}finally{

如果需要将下面"

update"

及"

insert"

作为一个事务来整体提交,请问下面代码如果改?

publicclasstrans3{

Connectionconn2=null;

Statementstmn2=null;

conn2=connectionFactory.getConnection();

stmn2=conn2.createStatement();

stmn2.executeUpdate("

500'

)"

if(stmn2!

已知有线程类定义如下:

importjava.sql.Connection;

importjava.sql.SQLException;

importjava.sql.Statement;

importjava.util.Date;

publicclassclientThreadextendsThread{

privateStringsql=null;

privateintwait=4000;

publicStringgetSql(){

returnsql;

publicvoidsetSql(Stringsql){

this.sql=sql;

publicintgetWait(){

returnwait;

publicvoidsetWait(intwait){

this.wait=wait;

publicvoidrun(){

Connectionconn=connectionFactory.getConnection();

try{

conn.setAutoCommit(false);

Statementstmn=conn.createStatement();

stmn.executeUpdate(sql);

System.out.println((newDate()).toString()+"

执行"

+sql);

this.sleep(wait);

mit();

线程结束"

+(newDate()).toString());

}catch(Exceptione){

有两个测试类client1.java

publicclassclient1{

clientThreadclient=newclientThread();

client.setWait(10000);

client.setSql("

update宿舍表set姓名=姓名+'

1'

where床铺=1"

client.start();

publicclassclient2{

client.setWait(6000);

A'

请先执行client1然后马上执行client2,等所有程序,数据库中床铺=1的记录内容是什么?

为什么会这样?

实验报告

(二)

A1321

黄伟峰

信息管理与信息系统

11314030119

Servlet应用

1、掌握servlet的配置方法

2、掌握web服务器的配置过程

3、掌握HttpServlet类的用法

4、掌握session等对象的用法

5、掌握请求转发功能的应用

6、掌握SerlvetConfig上下文的用法

Servlet配置、servlet设计、会话管理、请求流转、上下文应用

1、请建立一个servlet类用于显示当前的系统时间。

写出它的url配置写法20分。

publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

response.setContentType("

text/html"

PrintWriterout=response.getWriter();

out.println("

<

!

DOCTYPEHTMLPUBLIC\"

-//W3C//DTDHTML4.01Transitional//EN\"

>

HTML>

<

HEAD>

TITLE>

AServlet<

/TITLE>

/HEAD>

BODY>

center>

divstyle='

font-size:

50px;

padding-top:

250px'

Datedate=newDate();

out.print(date.toLocaleString());

/div>

/center>

/BODY>

/HTML>

out.flush();

out.close();

url配置写法:

生成servlt时将工程名去掉,只保留文件名,便于访问

2、领会多用户并发访问的机制,请建立一个HttpServlet——“servletUsers”类,在该类的成员代码如下:

publicclassserveltUsersextendsHttpServlet{

privateIntegerx=1;

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

this.doPost(request,response);

publicvoiddoPost(HttpServletRequest

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 职业规划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1