在jbuilder 中创建spring的mvc web应用+userlogin+dao

在jbuilder 中创建spring的mvc web应用+userlogin+dao

ID:1237951

大小:759.50 KB

页数:27页

时间:2017-11-09

在jbuilder 中创建spring的mvc web应用+userlogin+dao_第1页
在jbuilder 中创建spring的mvc web应用+userlogin+dao_第2页
在jbuilder 中创建spring的mvc web应用+userlogin+dao_第3页
在jbuilder 中创建spring的mvc web应用+userlogin+dao_第4页
在jbuilder 中创建spring的mvc web应用+userlogin+dao_第5页
资源描述:

《在jbuilder 中创建spring的mvc web应用+userlogin+dao》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Spring的MVCWeb应用中的持久层技术1、常规的JDBC编程实现(1)比较糟糕的设计方案:业务层组件与数据访问组件混合在一起我们在常规的编程实现中,经常会在业务类中既写业务逻辑处理,同时又写与底层存储媒介交互代码,使业务类变得复杂,且不便于维护。(2)将数据访问从业务处理类中分离中,形成DAO组件因此我们用DAO模式将业务逻辑与底层存储媒介交互分离,DAO的英文全称为DataAccessObject。DAO充当业务层与持久层的交互入口。2、Spring中的DAO程序的代码----进一步对JDBC作了简化(1)下面为Spring中的DAO程序的代码示例。(2)Spring对持久层的支持技

2、术:提供一个JdbcTemplate类来实现JDBC的数据库访问,并简化其编程实现。3、利用Spring的JdbcTemplate类来实现JDBC的数据库访问(1)常规的JDBC的访问代码所存在的问题JDBC提供了还算不错的数据库抽象,但是需要用痛苦的API。这些问题包括:l由于JDBC是一个非常基础的数据存取API,并且它封装了对关系型数据库的访问但是我们应该承认的是,JDBC仍然属于层次较低的API,所以在使用的时候,我们不得不编写大量的代码,来完成一件简单的工作。l需要冗长的错误处理代码来确保ResultSets,Statements以及(最重要的)Connections在使用后关闭这

3、意味着对JDBC的正确使用可以快速地导致大量的代码量。它还是一个常见的错误来源。Connectionleak可以在有负载的情况下快速宕掉应用程序。lJDBC不提供异常的层次SQLException相对来说不能说明任何问题,JDBC不提供异常的层次,而是用抛出SQLException来响应所有的错误。找出到底哪里出错了——例如,问题是死锁还是无效的SQL?——要去检查SQLState或错误代码。这意味着这些值在数据库之间是变化的。(2)作为对比,首先让我们来看一段传统的JDBC代码:Connectionconn=null;Statementstmt=null;try{conn=dataSour

4、ce.getConnection();stmt=con.createStatement();stmt.executeUpdate("UPDATEuserInfoSETage=18WHEREid='erica'");}catch(SQLExceptione){}finally{if(stmt!=null){try{stmt.close();}catch(SQLExceptionex){logger.warn("ExceptioninclosingJDBCStatement",ex);}}if(conn!=null){try{conn.close();}catch(SQLExceptionex)

5、{logger.warn("ExceptioninclosingJDBCConnection",ex);}}}类似上面的代码非常常见。主要的问题体现在下面几点:l为了执行一个SQL语句,我们必须编写这么多行的代码,而其中很多行的代码与应用逻辑并无关因为,我们必须自己获得Connection与Statement对象、执行SQL、捕捉异常、关闭相关的资源),并且,这样的代码还会在系统其他地方(也许是每个需要数据库访问的地方)重复出现。l对于重复性的劳动,我们应该使其自动化如何使其自动化呢?我们应该知道,在一般的JDBC查询功能实现中除了SQL语句的不同以及记录集的处理不同以外,大部分的查询代码都

6、没有太大的差别,所以我们的目标就是抽取共同的部分,而把特定的部分留给开发人员自己。于是,大家开始寻找一些设计模式以改进如此的设计,Template模式的应用是其中一种典型的改进方案。(3)利用Spring中的JdbcTemplate类来进行数据库访问Spring的JDBC封装,很大一部分就是借助Template模式实现,它提供了一个优秀的JDBC模板库,借助这个工具,我们可以简单有效的对传统的JDBC编码方式加以改进。下面是借助SpringJDBCTemplate修改过的代码,这段代码完成了与上面代码相同的功能。JdbcTemplatejdbcTemplate=newJdbcTemplate

7、(dataSource);jdbcTemplate.update("UPDATEuserSETage=10WHEREid='erica'");可以看到,两行代码完成了上面需要多行代码实现的功能。所有冗余的代码都通过合理的抽象汇集到了JdbcTemplate中。(4)两者的主要不同点Spring提供了一个JDBC抽象框架,我们可以利用它。直接使用JDBC和使用Spring的JDBC框架之间最大的区别是:l我们不

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。