数据库系统应用与开发实验五.docx

上传人:b****0 文档编号:17800044 上传时间:2023-08-03 格式:DOCX 页数:20 大小:20KB
下载 相关 举报
数据库系统应用与开发实验五.docx_第1页
第1页 / 共20页
数据库系统应用与开发实验五.docx_第2页
第2页 / 共20页
数据库系统应用与开发实验五.docx_第3页
第3页 / 共20页
数据库系统应用与开发实验五.docx_第4页
第4页 / 共20页
数据库系统应用与开发实验五.docx_第5页
第5页 / 共20页
数据库系统应用与开发实验五.docx_第6页
第6页 / 共20页
数据库系统应用与开发实验五.docx_第7页
第7页 / 共20页
数据库系统应用与开发实验五.docx_第8页
第8页 / 共20页
数据库系统应用与开发实验五.docx_第9页
第9页 / 共20页
数据库系统应用与开发实验五.docx_第10页
第10页 / 共20页
数据库系统应用与开发实验五.docx_第11页
第11页 / 共20页
数据库系统应用与开发实验五.docx_第12页
第12页 / 共20页
数据库系统应用与开发实验五.docx_第13页
第13页 / 共20页
数据库系统应用与开发实验五.docx_第14页
第14页 / 共20页
数据库系统应用与开发实验五.docx_第15页
第15页 / 共20页
数据库系统应用与开发实验五.docx_第16页
第16页 / 共20页
数据库系统应用与开发实验五.docx_第17页
第17页 / 共20页
数据库系统应用与开发实验五.docx_第18页
第18页 / 共20页
数据库系统应用与开发实验五.docx_第19页
第19页 / 共20页
数据库系统应用与开发实验五.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据库系统应用与开发实验五.docx

《数据库系统应用与开发实验五.docx》由会员分享,可在线阅读,更多相关《数据库系统应用与开发实验五.docx(20页珍藏版)》请在冰点文库上搜索。

数据库系统应用与开发实验五.docx

数据库系统应用与开发实验五

实验JDBC进阶

(1)

一、相关知识点

1、JDBC基本概念

2、JDBC数据增、删、改,事务控制等

3、OR映射

二、实验目的:

理解Java连接数据库的基本概念。

理解利用Statement对象、PreparedStatement对象进行增、删、改操作,理解事务的概念和JDBC编程方式。

理解OR映射的基本概念

三、实验内容:

1、对读者管理模块进行OR映射。

第一步:

将ReaderTypeDAO、ReaderDAO放入相应的包中,并完成补充完成其中的代码(要求进行纯粹的OR映射,不要涉及其他业务逻辑的判断);

第二步:

改造ReaderManager类,使得该类不直接使用JDBC,而通过调用上述两个DAO类实现相关业务逻辑。

第三步:

运行图书管理系统,进行各个功能的测试(读者类别管理、读者管理)

【实验结果与分析】

A、写出DAO类中各个方法的代码。

readerdao

publicListsearchReader(Stringreaderid,StringreaderName,intreaderTypeId)throwsBaseException{

Listresult=newArrayList();

Connectionconn=null;

try{

conn=DBUtil.getConnection();

Stringsql;

if(readerTypeId<0)

sql="select*frombeanreaderwherereaderidlike'%"+readerid+"%'orreadernamelike'"+readerName+"'";

else

sql=sql="select*frombeanreaderwherereaderidlike'%"+readerid+"%'orreadernamelike'%"+readerName+"%'orreadertypeid='"+readerTypeId+"'";

java.sql.Statementst=conn.createStatement();

java.sql.ResultSetrs=st.executeQuery(sql);

while(rs.next()){

BeanReadera=newBeanReader();

a.setReaderid(rs.getString

(1));

a.setReaderName(rs.getString

(2));

a.setReaderTypeId(rs.getInt(3));

a.setLendBookLimitted(rs.getInt(4));

a.setCreateDate(rs.getDate(5));

a.setCreatorUserId(rs.getString(6));

a.setRemoveDate(rs.getDate(7));

a.setRemoverUserId(rs.getString(8));

a.setStopDate(rs.getDate(9));

a.setStopUserId(rs.getString(10));

result.add(a);

}

}catch(SQLExceptione){

e.printStackTrace();

thrownewDbException(e);

}

finally{

if(conn!

=null)

try{

conn.close();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

returnresult;

}

/**

*新增读者

*@paramr

*@throwsBaseException

*/

publicvoidcreateReader(BeanReaderr)throwsBaseException{

Connectionconn=null;

try{

conn=DBUtil.getConnection();

Stringsql;

sql="insertintobeanreadervalues('"+r.getReaderid()+"','"+r.getReaderName()+"')";

java.sql.Statementst=conn.createStatement();

st.execute(sql);

}catch(SQLExceptione){

e.printStackTrace();

thrownewDbException(e);

}

finally{

if(conn!

=null)

try{

conn.close();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

}

/**

*修改读者信息

*@paramreader

*@throwsBaseException

*/

publicvoidmodifyReader(BeanReaderreader)throwsBaseException{

Connectionconn=null;

try{

conn=DBUtil.getConnection();

Stringsql="updatebeanreadersetreadername='"+reader.getReaderName()+"',readertypeid='"+reader.getReaderTypeId()+"',lendbooklimitted='"+reader.getLendBookLimitted()+"',createdate='"+reader.getCreateDate()+"',CreatorUserId='"+reader.getCreatorUserId()+"',RemoveDate='"+reader.getRemoveDate()+"',RemoverUserId='"+reader.getRemoverUserId()+"',StopDate='"+reader.getStopDate()+"',StopUserId='"+reader.getStopUserId()+"'";

java.sql.Statementst=conn.createStatement();

st.execute(sql);

}catch(SQLExceptione){

e.printStackTrace();

thrownewDbException(e);

}

finally{

if(conn!

=null)

try{

conn.close();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

}

publicvoiddeleteReader(BeanReaderreader)throwsBaseException{

Connectionconn=null;

try{

conn=DBUtil.getConnection();

Stringsql="deletefromwherereaderid='"+reader.getReaderid()+"'";

java.sql.Statementst=conn.createStatement();

st.execute(sql);

}catch(SQLExceptione){

e.printStackTrace();

thrownewDbException(e);

}

finally{

if(conn!

=null)

try{

conn.close();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

}

/**

*

*@paramreaderid

*@return

*@throwsDbException

*/

publicBeanReaderget(Stringreaderid)throwsDbException{

Connectionconn=null;

try{

conn=DBUtil.getConnection();

Stringsql="select*frombeanreaderwherereaderid='"+readerid+"'";

java.sql.Statementst=conn.createStatement();

java.sql.ResultSetrs=st.executeQuery(sql);

if(rs.next()){

BeanReadera=newBeanReader();

a.setReaderid(rs.getString

(1));

a.setReaderName(rs.getString

(2));

a.setReaderTypeId(rs.getInt(3));

a.setLendBookLimitted(rs.getInt(4));

a.setCreateDate(rs.getDate(5));

a.setCreatorUserId(rs.getString(6));

a.setRemoveDate(rs.getDate(7));

a.setRemoverUserId(rs.getString(8));

a.setStopDate(rs.getDate(9));

a.setStopUserId(rs.getString(10));

returna;

}

}catch(SQLExceptione){

e.printStackTrace();

thrownewDbException(e);

}

finally{

if(conn!

=null)

try{

conn.close();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

returnnull;

}

}

 

Readertypedao

publicListqryReaderType(StringreaderTypeName)throwsBaseException{

Listresult=newArrayList();

Connectionconn=null;

try{

conn=DBUtil.getConnection();

Stringsql;

sql="select*frombeanreadertypewherereaderTypeNamelike'%"+readerTypeName+"%'";

java.sql.Statementst=conn.createStatement();

java.sql.ResultSetrs=st.executeQuery(sql);

while(rs.next()){

BeanReaderTypea=newBeanReaderType();

a.setReaderTypeId(rs.getInt

(1));

a.setReaderTypeName(rs.getString

(2));

a.setLendBookLimitted(rs.getInt(3));

result.add(a);

}

}catch(SQLExceptione){

e.printStackTrace();

thrownewDbException(e);

}

finally{

if(conn!

=null)

try{

conn.close();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

returnresult;

}

/**

*新增读者类别

*@paramrt

*@throwsBaseException

*/

publicvoidcreateReaderType(BeanReaderTypert)throwsBaseException{

Connectionconn=null;

try{

conn=DBUtil.getConnection();

Stringsql;

sql="insertintobeanreadertypevalues('"+rt.getReaderTypeId()+"','"+rt.getReaderTypeName()+"','"+rt.getLendBookLimitted()+"')";

java.sql.Statementst=conn.createStatement();

st.execute(sql);

}catch(SQLExceptione){

e.printStackTrace();

thrownewDbException(e);

}

finally{

if(conn!

=null)

try{conn.close();}catch(SQLExceptione){e.printStackTrace();}

}

}

/**

*修改读者类别信息

*@paramrt

*@throwsBaseException

*/

publicvoidmodifyReaderType(BeanReaderTypert)throwsBaseException{

Connectionconn=null;

try{

conn=DBUtil.getConnection();

Stringsql="updatebeanreadertypesetReaderTypeId='"+rt.getReaderTypeId()+"',ReaderTypeName='"+rt.getReaderTypeName()+"',LendBookLimitted='"+rt.getLendBookLimitted()+"'";

java.sql.Statementst=conn.createStatement();

st.execute(sql);

}catch(SQLExceptione){

e.printStackTrace();

thrownewDbException(e);

}

finally{

if(conn!

=null)

try{

conn.close();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

}

publicvoiddeleteReaderType(BeanReaderTypert)throwsBaseException{

Connectionconn=null;

try{

conn=DBUtil.getConnection();

Stringsql="deletefromwherereaderid='"+rt.getReaderTypeId()+"'";

java.sql.Statementst=conn.createStatement();

st.execute(sql);

}catch(SQLExceptione){

e.printStackTrace();

thrownewDbException(e);

}

finally{

if(conn!

=null)

try{

conn.close();

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

}

}

 

B、给出改造后ReaderManager类的各个方法的代码。

publicclassReaderManager{

publicListloadAllReaderType()throwsBaseException{

Listresult=newReaderTypeDAO().qryReaderType("");

returnresult;

}

publicvoidcreateReaderType(BeanReaderTypert)throwsBaseException{

if(rt.getReaderTypeName()==null||"".equals(rt.getReaderTypeName())||rt.getReaderTypeName().length()>20){

thrownewBusinessException("读者类别名称必须是1-20个字");

}

if(rt.getLendBookLimitted()<0||rt.getLendBookLimitted()>100){

thrownewBusinessException("借阅图书数量必须在0-100之间");

}

ReaderTypeDAOr=newReaderTypeDAO();

r.createReaderType(rt);

}

publicvoidmodifyReaderType(BeanReaderTypert)throwsBaseException{

if(rt.getReaderTypeId()<=0){

thrownewBusinessException("读者类别ID必须是大于0的整数");

}

ReaderTypeDAOr=newReaderTypeDAO();

r.modifyReaderType(rt);

}

publicvoiddeleteReaderType(intid)throwsBaseException{

if(id<=0){

thrownewBusinessException("读者类别ID必须是大于0的整数");

}

ReaderTypeDAOr=newReaderTypeDAO();

BeanReaderTypeb=newBeanReaderType();

b.setReaderTypeId(id);

r.modifyReaderType(b);

}

publicListsearchReader(Stringkeyword,intreaderTypeId)throwsBaseException{

Listresult=newArrayList();

ReaderDAOr=newReaderDAO();

r.searchReader(keyword,keyword,readerTypeId);

returnresult;

}

publicvoidcreateReader(BeanReaderr)throwsBaseException{

if(r.getReaderTypeId()<=0){

thrownewBusinessException("必须指定读者类别");

}

if(r.getReaderid()==null||"".equals(r.getReaderid())||r.getReaderid().length()>20){

thrownewBusinessException("读者证号必须是1-20个字");

}

if(r.getReaderName()==null||"".equals(r.getReaderName())||r.getReaderName().length()>20){

thrownewBusinessException("读者姓名必须是1-20个字");

}

ReaderDAOrt=newReaderDAO();

rt.createReader(r);

}

publicvoidrenameReader(Stringid,Stringname)throwsBaseException{

if(id==

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

当前位置:首页 > 经管营销

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2