Spring+JDBC基础

1.Spring对DAO技术提供了那些支持
Spring对JDBC等数据库访问技术编写DAO提供以下几个重要支持
Spring对DAO异常提供了统一处理
Spring对DAO编写提供了支持的抽象类
提高编程效率,减少JDBC编码量

2.Spring对DAO异常支持
Spring把特定某种技术的异常,如SQLException,统一装换为自己的异常类型,这些异常以DataAccessException
为父类,它们封装了原始异常对象,不会丢失原始错误信息
DataAccessException继承于RuntimeException,是非检查异常,不会因为没有处理异常而出现编译错误
异常必须处理,可以用拦截器或则界面统一处理

3.Spring对DAO编写支持
Spring为了便于一种一致的方式使用各种数据访问技术,如JDBC、和Hibernate,Spring提供了一套抽象的
DAO类。这些抽象类提供了一些方法,通过他们可以获得与数据库访问技术相关的数据源和其他配置信息。
JdbcTemplate 封装常用的JDBC方法
HibernateTemplate 封装常用Hibernate方法
JDBCDaoSupport JDBC数据访问对象的基类
HibernateDaoSupport Hibernate数据访问对象的基类

4.JdbcDaoSupport
JdbcDaoSupport是利用JDBC技术编写DAO的父类,通过该类提供的方法,便于获取Connection和JdbcTemplate
等对象信息
JdbcDaoSupport使用时需要注入一个DataSource对象
JdbcDaoSupport对代码有一定的侵入性

5.JdbcTemplate
JdbcTemplate封装了连接获取以及连接释放等工作,从而简化了我们对JDBC的使用,避免忘记关闭连接等错误
JdbcTemplate提供了一下主要方法
queryForInt()
queryForObject()
query()
update()
execute()

6.如何编写DAO组件
基于JDBC技术编写DAO组件可以采用下面两种模式
1.DAO继承JdbcDaoSupport,通过getJdbcTemplate()方法获取JdbcTemplate对象,需要在
DAO实现类中注入一个DataSource对象来完成JdbcTemplate的实例化
2.DAO不继承JdbcDaoSupport,在Spring容器中配置JdbcTemplate,然后注入给DAO实现类(更为优雅)

7.继承JdbcDaoSupport的用法-DAO配置
<bean id="myDataSource" 
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/test"></property>
<property name="username" value="root"></property>
<property name="password" value="lu123456"></property>
</bean>
<!-- 继承JdbcDaoSupport -->
<bean id="jdbcEmpDao1" class="org.tarena.dao.JdbcEmpDao1">
<property name="dataSource" ref="myDataSource"></property>
</bean>

8.不继承JdbcDaoSupport的用法-DAO配置
<!-- 不继承JdbcDaoSupport -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="myDataSource"></property>
</bean>

<bean id="jdbcEmpDao2" class="org.tarena.dao.JdbcEmpDao2">
<property name="template" ref="jdbcTemplate" ></property>
</bean>

时间: 2024-11-06 12:59:03

Spring+JDBC基础的相关文章

Spring JDBC详解

<Spring JDBC详解> 本文旨在讲述Spring JDBC模块的用法.Spring JDBC模块是Spring框架的基础模块之一. 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 一.概述 在Spring JDBC模块中,所有的类可以被分到四个单独的包:1)core即核心包,它包含了JDBC的核心功能.此包内有很多重要的类,包括:JdbcTemplate类.SimpleJdbcInsert类,SimpleJdbcCall类,以及NamedP

jdbc基础 (五) 连接池与数据源 DBCP以及C3P0的使用

一.连接池的概念和使用 在实际应用开发中,特别是在WEB应用系统中,如果JSP.Servlet或EJB使用JDBC直接访问数据库中的数据,每一次数据访问请求都必须经历建立数据库连接.打开数据库.存取数据和关闭数据库连接等步骤,而连接并打开数据库是一件既消耗资源又费时的工作,如果频繁发生这种数据库操作,系统的性能必然会急剧下降,甚至会导致系统崩溃.数据库连接池技术是解决这个问题最常用的方法. 数据库连接池的主要操作如下: (1)建立数据库连接池对象. (2)按照事先指定的参数创建初始数量的数据库连

Leopard Jdbc:简化Spring Jdbc使用

Leopard Jdbc:简化Spring Jdbc使用 学习如何在旧项目中使用Leopard Jdbc. 本指南将引导您完成使用Leopard Jdbc操作MySQL. How to complete this guide 你可以从头开始并完成每一个步骤,或者您可以绕过你已经熟悉的基本设置步骤.无论哪种方式,你最终都可以得到可工作的代码. 1.配置maven依赖 在dao模块的pom.xml加入 <dependencies> [...] <dependency> <grou

Spring Framework基础学习

Spring Framework基础学习 Core support for dependency injection,transaction management,web applications,data access,messaging,testing and more 推荐的官方文章:http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/index.html 一.Instrod

Spring源码阅读:Spring JDBC 组件的设计与实现

昨天回忆了我在学习JDBC时自己设计的JDBCTemplate(写在上一篇博客中),在使用Spring过程中,有时会用到Spring给我们提供的JdbcTemplate,这里看看Spring是如何实现这个组件的. 在使用Spring JDBC是你要做的工作很少: 从上面的图上可以看出来,使用Spring JDBC,你只需要做四个工作: 1)定义连接参数:也就是定义url,driver,user,password这个几个参数,一般我们会用一个jdbc.properties文件来配置. 2)指定要执

Spring04-SpringEL&amp;Spring JDBC数据访问

一. SpringEL入门 Spring动态语言(简称SpEL) 是一个支持运行时查询和操作对象图的强大的动态语言,语法类似于EL表达式,具有诸如显示方法和基本字符串模板函数等特性. 1. 准备工作 项目:spring-el 2. 需要导入jar包 spring-expression.jar maven项目pom文件添加: 1 <dependency> 2 <groupId>org.springframework</groupId> 3 <artifactId&g

Spring MVC 基础

Spring MVC 基础 1.Web MVC基础 MVC的本质是表现层模式,我们以视图模型为中心,将视图和控制器分离出来.就如同分层模式一样,我们以业务逻辑为中心,把表现层和数据访问层代码分离出来是一样的方法.框架只能在技术层面上给我们帮助,无法在思考和过程上帮助我们,而我们很多人都不喜欢思考和尝试. 2.实现Web MVC的基础 实现Web MVC基础可以概括为1个前段控制器和2个映射. (1)前端控制器FrontController ASP.NET和JSP都是以Page路径和URL一一对应

Spring Boot基础教程8-web应用开发-模板引擎jsp

一.spring boot的web应用开发,是基于spring mvc 二.Spring boot 在spring默认基础上,自动配置添加了以下特性: 1.   包含了ContentNegotiatingViewResolver和BeanNameViewResolver beans. 2.   对静态资源的支持,包括对WebJars的支持. 3.   自动注册Converter,GenericConverter,Formatter beans. 4.   对HttpMessageConverte

Spring Boot 基础

Spring Boot 基础 Spring Boot 项目(参考1) 提供了一个类似ASP.NET MVC的默认模板一样的标准样板,直接集成了一系列的组件并使用了默认的配置.使用Spring Boot 不会降低学习成本,甚至增加了学习成本,但显著降低了使用成本并提高了开发效率.如果没有Spring基础不建议直接上手. 1.基础项目 这里只关注基于Maven的项目构建,使用Spring Boot CLI命令行工具和Gradle构建方式请参考官网. (1)创建项目: 创建类型为quickstart的