Spring所提供的JDBC抽象框架由四个不同的包组成:
创新互联服务项目包括天峨网站建设、天峨网站制作、天峨网页制作以及天峨网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,天峨网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到天峨省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
◆核心包包含JdbcTemplate。这个类是一个基础类之一-由Spring框架的JDBC支持提供并使用。
◆数据源包是实现单元测试数据库存取代码的重要的一部分。它的DriverManagerDataSource能够以一种类似于你已经习惯于JDBC中的用法:只要创建一个新的DriverManagerDataSource并且调用setter方法来设置DriverClassName,Url,Username和Password。
◆对象包中包含类,用于描述RDBMS查询、更改和存储过程为线程安全的、可重用的对象。
◆支持包-你可以从这里找到SQLException翻译功能和一些工具类。
1)Spring JDBC模板设计模式
Spring JDBC实现模板设计模式,这意味着,代码中的重复的复杂的任务部分是在模板类中实现的。这种方式简化了JDBC的使用,因为由它来处理资源的创建和释放。这有助于避免普通错误,例如忘记关闭连接等。它执行核心JDBC工作流任务,如语句创建和执行,而让应用程序代码来提供SQL并且提取结果。
2)Spring JDBC异常处理
Spring框架特别强调在传统型JDBC编程中所面临的与下列方案有关的问题:
◆Spring提供一个抽象异常层,把冗长并且易出错误的异常处理从应用程序代码移到由框架来实现。框架负责所有的异常处理;应用程序代码则能够专注于使用适当的SQL提取结果。
◆Spring提供了一个重要的异常类层次,以便于你的应用程序代码中可以使用恰当的SQLException子类。
借助于一个抽象异常层,我们成功地实现了数据库独立性而不必改变异常处理。例如,如果你把你的数据库从PostgreSQL改变为Oracle,那么你不必把异常处理从OracleDataException改变到PostgresDataException。Spring能够捕获应用程序服务器特定的异常并抛出一个Spring数据异常。
当处理异常时,Spring检查来自一个数据库连接的元数据可用性以决定数据库产品。它使用这种知识来把SQLException映射到其自己异常层次中的具体的异常上。因此,我们不需要担心专门性的SQL状态或错误代码问题;Spring的数据存取异常不是JDBC特定的,因此你的DAO不必绑定到JDBC(由于其可能抛出的异常)。
四.Spring JDBC模板示例
在下面两个列表中,我们将使用前面用传统型JDBC实现的业务逻辑为例并且展示使用Spring JDBC版本是多么容易。首先,我们从一个简单的接口开始。
接口:
- importjava.util.List;
- publicinterfaceTasksDAO{
- publicListgetTasksNames();
- }
接口实现类:
- importjava.sql.ResultSet;
- importjava.sql.SQLException;
- importjava.util.Iterator;
- importjava.util.List;
- importjavax.sql.DataSource;
- importorg.springframework.context.ApplicationContext;
- importorg.springframework.context.support.ClassPathXmlApplicationContext;
- importorg.springframework.jdbc.core.JdbcTemplate;
- importorg.springframework.jdbc.core.RowMapper;
- importorg.springframework.jdbc.core.support.JdbcDaoSupport;
- /**
- *wangzyspringjdbcTemplate
- *@authorAdministrator
- *
- */
- publicclassTasksJdbcDAOextendsJdbcDaoSupportimplementsTasksDAO
- {
- publicListgetTasksNames(){
- JdbcTemplatejt=getJdbcTemplate();//获取Spring JDBC模板
- returnjt.query("selectUSERNAME,PASSWORDfromuserinfo",newTasksRowMapper());
- }
- //继承了sping,封装好的接口RowMapper
- classTasksRowMapperimplementsRowMapper{
- publicObjectmapRow(ResultSetrs,intindex)throwsSQLException{
- returnrs.getString(1);}//获取列数
- }
- publicstaticvoidmain(String[]args)throwsException{
- ApplicationContextctx=newClassPathXmlApplicationContext("applicationContext.xml");//获取sping配置文件地址
- DataSourceds=(DataSource)ctx.getBean("dataSourceDBDirect");//获取数据源
- TasksJdbcDAOtaskDao=newTasksJdbcDAO();
- taskDao.setDataSource(ds);
- IteratortskIter=taskDao.getTasksNames().iterator();//提取数据,循环遍历
- while(tskIter.hasNext()){
- System.out.println(tskIter.next().toString());
- }
- }
- }
appliactiong:(src下)
- <beanidbeanid="dataSourceDBDirect"class="org.springframework.jdbc.datasource.DriverManagerDataSource">
- <propertynamepropertyname="driverClassName"value="com.mysql.jdbc.Driver"> property>
- <propertynamepropertyname="url"value="jdbc:mysql://localhost:3306/userinfo"> property>
- <propertynamepropertyname="username"value="root"> property>
- <propertynamepropertyname="password"value="root"> property>
- bean>
网页名称:简单介绍SpringJDBC模板
网页地址:http://www.csdahua.cn/qtweb/news19/4819.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网