数据库综合设计报告_第1页
数据库综合设计报告_第2页
数据库综合设计报告_第3页
数据库综合设计报告_第4页
数据库综合设计报告_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武汉工程大学计算机科学与工程学院综合设计报告-PAGE21-武汉工程大学计算机科学与工程学院综合设计报告-PAGEI-目录TOC\o"1-2"\h\u14713摘要 I3869Abstract II2842第一章课题背景 1231911.1项目背景 1131051.2开发环境的配置 124548第二章设计简介及设计方案论述 5212992.1需求分析 5302692.2概念模型 568272.3逻辑结构设计 6141862.4物理结构设计 7273942.5数据库实施 731471第三章详细设计 9129273.1根据数据表设计javabean 9244413.2JDBUtils连接数据库 101193.3与数据库进行交互的Dao层 11319773.4与用户交互的Jsp页面 1291513.5Servlet控制请求与响应 13274983.6Junit单元测试 1528120第四章设计结果及分析 16287824.1用户注册 16185564.2用户功能 16267754.3管理员功能 18308204.4分析页面加载的问题 1932651总结 2029459致谢 2125143参考文献 224472附录 23摘要21世纪的今天,中国网民的规模达到7.31亿,手机网民达到6.95亿,随着网络时代的到来,电子信息化的飞速发展,图书馆代表着一间学校或者地区的标志,作为一种信息资源的聚集地,经常被众多用户访问,并且图书种类的繁多,用户借阅的繁琐,包含很多的信息数据的管理,以及信息数据的交互。图书馆如果采用人工来管理书籍和借阅管理,由于资料繁多,手工处理的方式不仅工作量大,管理效率低下,也很容易因为疲劳而产生出错,更不方便读者对图书资料的查阅,如何实现高效的管理已成为必须要面对的问题。为了提高图书管理的效率,本项目针对图书的管理,设计了一个面向图书的管理系统。本系统采用了Jsp页面的设计,使用了MVC模式,具有开发效率高、设计灵活等特点,并通过JDBC驱动和数据库进行无缝连接。关键词:图书管理;数据库;JavaWebAbstractWiththeadventoftheInternetera,therapiddevelopmentofelectronicinformation,the21stcenturytoday,thesizeofChina'sInternetusersreached731million,mobilephonenetizensreached695million.Libraryrepresentsaschoolorarealogo,asagatheringplaceofinformationresources,oftenaccessedbymanyusers,andawidevarietyofbooks,usersborrowcumbersome,includingalotofinformationdatamanagement,aswellastheinteractionofinformationdata.Ifthelibraryusesmanualmanagementofbooksandloanmanagement,becauseofthelargenumberofmaterials,manualprocessingmethodsnotonlyalargeworkload,lowmanagement,butalsoeasybecauseoffatigueanderrors,moreinconvenienttoreaderstoaccessthebooks,howtoachieveefficientmanagementhasbecomeamustfacetheproblem.Inordertoimprovetheefficiencyofbookmanagement,thisprojectforbookmanagement,designedabook-orientedmanagementsystem.ThesystemadoptsthedesignofJSPpage,usesMVCmode,hasthecharacteristicsofhighdevelopmentefficiencyandflexibledesign,andisseamlesslyconnectedbyJDBCdriveanddatabase.Keywords:BookManagementDatabaseJavaWeb-PAGE1-第一章课题背景1.1项目背景随着计算机技术的发展以及计算机网络的逐渐普及,英特网成为人们查找信息的重要场所。上个世纪90年代初美国科学家首次提出数字图书馆(DigitalLibrary)这一概念以来,全球开展数字图书馆研究与实践已近十几个年头。我国图书情报界,IT业界自1995年左右开始对这一领域跟踪研究,1998年开始全面升温,迄今无论是在对数字图书馆的认识,还是理论研究,关键技术准备方面,都取得了很大的进展。国内数字图书馆的实践活动大致可分为以下三种类型:资源服务型、服务研究型和联合建设型。虽然,从严格意义上讲,资源服务型不能算是数字图书馆,但它的网上信息服务目前已在大多数图书馆开展,是现阶段我国图书情报界提供网上数字服务的主要形式。二十一世纪是信息的时代,所以信息的交换和信息流通显得的特别重要。因此,使用计算机来管理图书成为必然。目前,中小型以及大型图书馆、书店等均开始采用各种优秀的系统管理软件来辅助日常的事物。而随着科技的进步,图书管理系统在传统的功能上越来越强大,如:读者信息查询,图书信息查询,图书入库及注销出库登记等等,为人们带来了极大方便。在各大高校中,图书管理每一个系部或院部都必须切实面对的工作,目前仍有少部分院系仍在使用传统的人工方式管理图书资料。这种方式存在着许多缺点,如效率低、保密性差且较为繁琐。另外,随着图书资料数量的增加,其工作量也将大大增加,这必将增加图书资料管理者的工作量和劳动强度,这将给图书资料信息的查找、更新和维护都带来了很多困难。图书管理作为计算机应用的一个分支,有着手工管理无法比拟的优点,如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高图书管理的效率。因此,开发一套能够为用户提供充足的信息和快捷的查询手段的图书管理系统,将是非常必要的,也是十分及时的。1.2开发环境的配置开发工具:IntellijIDEA所用设计模式:MVC语言:Java数据库:MySQLWeb服务器:TomcatAction:ServletView:Jsp数据库连接池:Druid1.2.1Tomcat配置1.首先去官网下载对应版本的Tomcat2.进入EditConfigurations图1.1Tomcat配置1点击+,选择Tomcat服务器local图1.2Tomcat配置2具体配置默认端口为8080,选择自己电脑相应的jdk版本和Tomcat版本图1.3Tomcat配置3在Deployment中点击+,部署相应的工程。Applicationcontext一栏为项目启动的虚拟路径。图1.4Tomcat配置41.2.2导入jar包1.在建好的工程里右键,点击OpenModuleSetting图1.5导入jar包12.点击右边的+号,导入相应的jar包和依赖环境,然后点击OK。图1.6导入jar包2第二章设计简介及设计方案论述2.1需求分析在图书管理系统中,用户可以登录进行借书、还书操作,查看图书馆藏情况;用户借书时,先输入图书名称,系统验证该图书是否有库存,有剩余则借书成功,没有库存则显示借书失败,借书成功后,书本库存减一。还书时同样需要输入书本名称,点击归还后,系统检查是否借了该书,归还成功后,修改书本库存信息。读者没有账号时,可以在起始页面选择注册新用户,注册成功后即可登录并享有读者功能。管理员可以对书本执行添加操作,查看图书的借出日志。对于违规的读者用户,管理员可以删除该用户,使其无法再次登录系统。图书的详细信息有书本库存量、书本名称、书本作者、出版单位、书本价格、出版时间。图2.1功能结构图2.2概念模型E-R图的简单描述:1.book表有book_num(书本库存)、book_name(书本名称)、book_writer(书籍作者)、publish_time(书籍出版时间)、book_price(书本价格)、publish_house(出版社)2.user表有name(用户昵称)、password(用户密码)、id(标识普通用户与管理员)、sex(用户性别)、telphone(用户联系方式)、email(用户E-mail)3.message表有name(用户昵称)、book_name(书籍名称)、date(借阅时间)图2.2数据关系图图2.3E-R图2.3逻辑结构设计根据2.2节的数据关系图得出以下关系模式其中,标记“______”为主键。图书实体对应的关系模式:图书(书籍名称,书籍库存量,书籍作者,书籍出版社,书籍出版时间,时间价格)用户实体对应的关系模式:用户(用户名称,用户密码,id标识,用户性别,用户联系方式,用户邮箱)借阅信息实体对应的关系模式:借阅信息(用户名称,书籍名称,借阅日期)2.4物理结构设计在逻辑结构的基础上,进一步设计物理结构。本系统选择MySQL数据库,字符集编码为UTF-8。如下图所示,在book表中,除了书籍价格和书籍库存量使用int类型外,其他属性都使用char类型,主键为书名;user表中属性全部使用char类型,主键为用户名;message表中属性也都使用char类型,主键为书名和用户名。图2.4book表的物理结构Figure2.4Thephysicalstructureofthebooktable2.5数据库实施编写sql语句,导入MySQLWorkbench执行:图2.5数据库表的执行语句第三章详细设计3.1根据数据表设计javabean在src包下创建domain包用于存放三个实体类,分别为Book、Message、User类,每个类中与数据表属性名相同的私有成员变量,鼠标右键点击Generate...,IDEA自动生成相应的Get和Set方法,为了输出查询结果,同时也要生成toString方法。注意实体类的属性最好不要定义为基本类型,否则无法存放null值,例如int-->Integer等。图3.1User类图3.2Book类图3.3Message类3.2JDBUtils连接数据库在src下创建包util,其中存放于数据库建立连接的JDBCUtils类,由于数据库连接很消耗资源,因此在数据库连接方面选择数据库连接池Durid。使用数据库连接池时要导入配置文件perties图3.4数据库连接池配置文件加载配置文件,初始化连接池后就可以获取连接对象了,为了后续使用JDBCTemplate执行sql语句,需要在JDBCUtils类中提供获取连接池对象的方法:图3.5初始化连接池获取连接数据库的连接是有限制的,如果连接不关闭,使用人数较多,那么系统很快就会崩溃,因此在JDBCUtils类中还要有关闭连接的方法。有时候不需要查询结果集,调用关闭连接池方法时,第三个参数可以填写null。图3.6关闭连接3.3与数据库进行交互的Dao层在src包下创建Dao包,用于存放BookDao、UserDao、MessageDao类。BookDao实现了借书还书方法、更新书籍数量的方法、管理员添加书籍的方法,使用JDBCTemplate可以大大简化代码的数量。JdbcTemplate是Spring框架对JDBC的简单封装,它依赖于数据源DataSource。图3.7借书/还书方法图3.8更新书籍数量图3.9添加书籍MessageDAo实现了增加用户借阅信息的方法、查询当前用户的借阅记录、查询所有用户的借阅记录、查询当前用户是否借了当前书本的方法、归还图书的方法。UserDao实现类了登录检验的方法、查询图书馆剩余书籍的方法、增加用户的方法、删除用户的方法。这些方法的实现与上述BookDao类差不多,执行简单的sql语句即可。3.4与用户交互的Jsp页面借书:borrowBook.jsp、借阅是否成功:borrowSuccess.jsp、还书:returnBook.jsp、还书是否成功:returnSuccesss.jsp、登录:login.jsp、注销:loginout.jsp、注册:register.jsp、查看用户借阅情况:getmessage.jsp、展示剩余书籍:showBooks.jsp、增加书籍:addbook.jsp、删除用户:deleteuser.jsp、初始欢迎界面:index.jsp、管理员界面:manager.jsp、登录成功:success.jsp、管理员查看借阅信息:viewmessage.jsp。为了防止jsp页面中文乱码,在开头需要加上:<%@pagecontentType="text/html;charset=UTF-8"language="java"%>Jsp页面主要使用html标签、css渲染和一些Java语句。同时注意Jsp后缀文件应放在web包下,若放在WEB-INF下会识别不出。3.5Servlet控制请求与响应loginServlet用于检验用户登录,若数据库查询不到该登录用户则跳转到登录失败页面,若成功找到一个用户,使用req.setAttribute()方法将该登录对象存储到共享域中,方便在用户整个登录期间可以随时取得用户信息,随后跳转到登录成功页面。HttpServlet类提供了两个方法分别是doGet和doPost,由于每次提交数据都是POST方式,在doPost方法体写上对应的逻辑就可以,可是doGet方法如果什么都不写页面会报HTTP500错误,为了简化代码可以用this.doPost(request,response)语句。图3.10loginServlet类BorrowBookServlet用于响应借书的请求,获取书名后,令该书籍库存数量减一,同时将sum值保存到resquest域中,跳转到借书成功页面。在之后的页面取出sum值可以判断借书是否成功。图3.11BorrowBookServlet类RegisterServlet类用于获取注册信息并封装为User对象,然后添加进数据库。注册时,用户不可以填写ID信息,ID在内部置位0,这样可以区分管理员和普通用户,封装好数据后跳转至登录界面,控制台打印注册成功字样。图3.12RegisterServlet类3.6Junit单元测试单元测试是编写测试代码,可以准确、快速的保证程序基本模块的正确性。Junit通过注解的方式来识别测试代码,目前支持的注解主要有:@BeforeClass全局只会执行一次,而且是第一个运行、@Before在测试方法运行之前运行、@Test测试方法、@After在测试方法运行之后允许、@AfterClass全局只会执行一次,而且是最后一个运行、@Ignore忽略此方法。在src包下创建test包,在test包下编写单元测试的代码:图3.13单元测试第四章设计结果及分析4.1用户注册一、登录页面(运行程序后,进入登录页面)页面功能全部实现

图4.1登录界面若登录的账号没有注册过,则弹出账号不存在提示图4.2账号不存在若登录的账号注册过,但是登录密码输入错误,则弹出密码错误提示图4.3账号密码错误二、注册页面图4.4注册页面4.2用户功能用户功能主页面,每个按钮功能均已实现,标题为当前用户名图4.5用户主页面图4.6查看个人资料图4.7修改个人资料图4.8查看书库4.3管理员功能一、图书管理员主页面及权限图4.9管理员主界面图4.10删除图书图4.10添加书本信息图4.11书库信息4.4分析页面加载的问题实现各个功能页面的跳转需要设置action属性和对应的Servlet的资源地址,action中地址的写法为虚拟目录+Servlet资源路径,若地址填写错误,页面会报HTTP500错误。此外,Jsp页面的静态资源如图片,会遇到资源无法加载的问题:Failedtoloadresource:theserverrespondedwithastatusof404(),这时需要引入C标签库,即加入语句:<%@taglibprefix="c"uri="/jsp/jstl/core"%>,同时引入相应的jar包:taglibs-standard-impl-1.2.5.jar、taglibs-standard-spec-1.2.5.jar。在程序运行中还有无法获取session域中属性值的问题,这种情况页面也会报HTTP500错误,为了解决这个错误应该详细区分session.setAttribute()与request.setAttribute()。1.session.setAttribute()和session.getAttribute()配对使用,作用域是整个会话期间,在所有的页面都使用这些数据的时候使用。2.request.setAttribute()和request.getAttribute()配对使用,作用域是请求和被请求页面之间。request.setAttribute()是只在此action的下一个forward需要使用的时候使用;request.getAttribute()表示从request范围取得设置的属性,必须要先setAttribute设置属性,才能通过getAttribute来取得,设置与取得的为Object对象类型。其实表单控件中的Object的name与value是存放在一个哈希表中的,所以在这里给出Object的name会到哈希表中找出对应它的value。setAttribute()的参数是String和Object。3.request.getParameter()表示接收参数,参数为页面提交的参数。包括:表单提交的参数、URL重写(就是xxx?id=1中的id)传的参数等,因此这个并没有设置参数的方法(没有setParameter()),而且接收参数返回的不是Object,而是String类型。了解一些常见的响应状态码很重要。响应状态码就是服务器告诉客户端浏览器本次请求和响应的一个状态,通常由三位数字组成。以1开头的:服务器就收客户端消息,但没有接受完成,等待一段时间后,发送1xx状态码;以2开头的:成功。代表:200;以3开头的:重定向。代表:302(重定向),304(访问缓存);以4开头的:客户端错误。代表:404:请求路径没有对应的资源,405:请求方式没有对应的doXxx方法;以5开头的:服务器端错误。代表:500(服务器内部出现异常)。具体的错误可以上网搜索具体解决办法。总结 首先是数据库的设计,可以简单分析到需要三个数据表,分别为存储用户信息的user表、存储书籍信息的book表和用户借阅书籍情况的message表。 其次是分析图书管理系统到底需要什么样的功能,index.jsp界面应该有注册和登录两个链接供新老用户使用,分别跳转至不同的界面。对于没有注册的用户,直接注册就行了,注册信息填完点击注册按钮完成注册,直接跳转至登录页面。登录后,有以下几个链接供用户点击:借书、还书、注销、查看自己的借阅情况、查看图书馆中书籍的情况。当作为管理员登录,会跳转到管理员专属页面,该页面提供给了管理员管理图书馆的功能,如删除违规用户、添加图书等。 然后根据数据表设计对应的javabean,对于每一个实体类,设计相应的dao类,在类中编写相应的方法来实现想要的功能。创建perties文件,方便连接数据库时直接修改密码或用户名。 为了实现这些功能需要编写很多Jsp页面和Servlet类,每个页面对应着不同的功能,需要提交数据的页面发送请求给Servlet,再由Servlet响应并转发请求到目的页面。 基本功能实现后,部署到Tomcat,页面跳转过程中总有各种各样的问题和错误,也有很多忽略的细节导致的小错误,很难揪出来,花了很多时间查阅各种各样的错误的解决办法,最后总算是运行成功了。致谢在这次综合设计的撰写中,我得到了许多人的帮助。最需要感谢的是几位指导老师。在整个综合设计过程中,老师们在开始设计的选题,设计方案的确定以及具体的实施调试实现过程都孜孜不倦的给予了周密的指导和有建设性的意见。在我们遇到问题向其请教的过程中也受益匪浅,所以在此向他们表示我真诚的感谢。同时,要感谢老师在综合设计上给予我的指导,提供给我的支持和帮助,这是我能顺利完成这次设计的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把系统做的更完善。在此期间,我不仅学到了许多新的知识,也开阔了视野,提高了自己的设计能力。在写报告的过程中,同学的帮助也是必不可少的。有许多细节问题是同学们一起讨论得出的。此外,我还查阅了大量的文献,网络上海量的知识也帮助了我打开思路,对图书管理系统有了更深入的理解,感谢这些知识的提供者。最后再一次感谢所有在设计中帮助过我的良师益友和同学。参考文献[1]陈强.精通Java开发技术.清华大学出版社.2014[2]张剑飞.JavaEE开发技术.哈尔滨工业大学出版社.2013[3]何富贵.Jsp开发案例教程.机械工业出版社.2014[4]温浩宇.Web网站设计与开发教程.西安电子科技大学出版社.2014[5]石正喜.MySQL数据库实用教程.北京师范大学出版社.2014[6]姜承尧.高性能网站MySQL数据库实践.维普中文科技期刊数据库.2013[7]林学良.JSP&Servlet学习笔记.清华大学出版社.2012[8]刘京华.JavaWeb整合开发王者归来.清华大学出版社,2010[9]李兆锋.张得生.JavaWeb项目开发案例精粹.电子工业出版社.2010[10]王映龙.JavaEE实用教程.清华大学出版社.2011 附录:packagedao;importdomain.Book;importorg.springframework.dao.DataAccessException;importorg.springframework.jdbc.core.BeanPropertyRowMapper;importorg.springframework.jdbc.core.JdbcTemplate;importutil.JDBCUtils;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;publicclassBookDao{privateJdbcTemplatetemplate=newJdbcTemplate(JDBCUtils.getDataSource());publicBookretandborBook(Stringbook_name){//借/还书try{Stringsql="select*frombookwherebook_name=?";Bookbook=template.queryForObject(sql,newBeanPropertyRowMapper<Book>(Book.class),book_name);returnbook;}catch(DataAccessExceptione){e.printStackTrace();returnnull;}}publicintupdate(Bookbook,inti){//更新书籍数量intsum=(book.getBook_num()+i);if(sum<0){return-1;}Connectionconnection=null;PreparedStatementpreparedStatement=null;Stringsql="updatebooksetbook_num='"+sum+"'wherebook_name='"+book.getBook_name()+"'";try{connection=JDBCUtils.getConnection();preparedStatement=connection.prepareStatement(sql);preparedStatement.executeUpdate();}catch(SQLExceptione){e.printStackTrace();}finally{JDBCUtils.close(connection,preparedStatement);}return0;}/***管理员添加书籍*/publicvoidaddBook(Bookbook){Stringsql="insertintobook(book_num,book_name,book_writer,publish_time,book_price,publish_house)"+"values(?,?,?,?,?,?)";template.update(sql,book.getBook_num(),book.getBook_name(),book.getBook_writer(),book.getPublish_time(),book.getBook_price(),book.getPublish_house());}}packagedao;importdomain.Message;importutil.JDBCUtils;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.util.ArrayList;importjava.util.List;publicclassMessageDao{publicvoidaddMessage(Messagemess){//增加所借书Connectionconnection=null;PreparedStatementpreparedStatement=null;Stringsql="insertintomessage(name,book_name,date)values(?,?,?)";try{connection=JDBCUtils.getConnection();preparedStatement=connection.prepareStatement(sql);preparedStatement.setString(1,mess.getName());preparedStatement.setString(2,mess.getBook_name());preparedStatement.setString(3,mess.getDate());preparedStatement.executeUpdate();}catch(SQLExceptione){e.printStackTrace();}finally{JDBCUtils.close(connection,preparedStatement);}}publicList<Message>getMessage(Stringname){//查阅所借书List<Message>list=newArrayList<>();Messagem=null;Connectionconnection=null;PreparedStatementpreparedStatement=null;ResultSetresultSet=null;Stringsql="select*frommessagewherename=?";try{connection=JDBCUtils.getConnection();preparedStatement=connection.prepareStatement(sql);preparedStatement.setString(1,name);resultSet=preparedStatement.executeQuery();while(resultSet.next()){m=newMessage();m.setName(resultSet.getString("name"));m.setBook_name(resultSet.getString("book_name"));m.setDate(resultSet.getString("date"));list.add(m);}}catch(SQLExceptione){e.printStackTrace();}finally{JDBCUtils.close(connection,preparedStatement,resultSet);}returnlist;}publicbooleancheck(Stringname,Stringbook_name){//检查是否借了书Connectionconnection=null;PreparedStatementpreparedStatement=null;ResultSetresultSet=null;Stringsql="select*frommessagewherename=?andbook_name=?";try{connection=JDBCUtils.getConnection();preparedStatement=connection.prepareStatement(sql);preparedStatement.setString(1,name);preparedStatement.setString(2,book_name);resultSet=preparedStatement.executeQuery();while(resultSet.next()){Stringname1=resultSet.getString("name");Stringbook_name1=resultSet.getString("book_name");//System.out.println(name1+"=="+book_name1);if(name.equals(name1)&&(book_name).equals(book_name1)){returntrue;}}}catch(SQLExceptione){e.printStackTrace();}finally{JDBCUtils.close(connection,preparedStatement,resultSet);}returnfalse;}publicvoidreturnMessage(Stringname,Stringbook_name){//归还图书Connectionconnection=null;PreparedStatementpreparedStatement=null;Stringsql="deletefrommessagewherename=?andbook_name=?";try{connection=JDBCUtils.getConnection();preparedStatement=connection.prepareStatement(sql);preparedStatement.setString(1,name);preparedStatement.setString(2,book_name);preparedStatement.executeUpdate();}catch(SQLExceptione){e.printStackTrace();}finally{JDBCUtils.close(connection,preparedStatement);}}/***查询全部借阅信息*@return*/publicList<Message>getAllMessage(){List<Message>list=newArrayList<>();Messagem=null;Connectionconnection=null;PreparedStatementpreparedStatement=null;ResultSetresultSet=null;Stringsql="select*frommessage";try{connection=JDBCUtils.getConnection();preparedStatement=connection.prepareStatement(sql);resultSet=preparedStatement.executeQuery();while(resultSet.next()){m=newMessage();m.setName(resultSet.getString("name"));m.setBook_name(resultSet.getString("book_name"));m.setDate(resultSet.getString("date"));list.add(m);}}catch(SQLExceptione){e.printStackTrace();}finally{JDBCUtils.close(connection,preparedStatement,resultSet);}returnlist;}}packagedao;importdomain.User;importorg.springframework.dao.DataAccessException;importorg.springframework.jdbc.core.BeanPropertyRowMapper;importorg.springframework.jdbc.core.JdbcTemplate;importutil.JDBCUtils;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.util.ArrayList;importjava.util.List;/***操作数据库中User表的类*/publicclassUserDao{//JdbcTemplate对象共用privateJdbcTemplatetemplate=newJdbcTemplate(JDBCUtils.getDataSource());/***登录方法*@paramloginUser只有用户名和密码*@returnUser包含用户全部数据*/publicUserlogin(UserloginUser){try{//编写sqlStringsql="select*fromuserwherename=?andpassword=?";//loginUser.getUsername(),loginUser.getPassword()?位置放置参数Useruser=template.queryForObject(sql,newBeanPropertyRowMapper<User>(User.class),loginUser.getName(),loginUser.getPassword());returnuser;}catch(DataAccessExceptione){e.printStackTrace();//如果查询不到,返回nullreturnnull;}}publicstaticList<Strin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论