1.Spring对JDBC整合支持
Spring对DAO提供哪些支持
1)Spring对DAO异常提供统一处理
2)Spring对DAO编写提供支持的抽象类
3)提高编程效率,减少DAO编码量

Spring对DAO的异常支持
Spring把特定某种技术的异常,如SQLException,统一转化为自己的异常,异常以DataAccessException为父类,
它封装了原始的异常对象,不会丢失原始的错误信息,

DataAccessException继承于RuntimeException,是非检查异常,不会因为没有处理异常而出现编译错误,异常
必须处理可以用拦截器统一处理

Spring对DAO编写支持
Spring为了便于以一种一致的方式使用各种数据库访问技术,如JDBC,MyBatis,Hibernate,Spring提供一套抽象的DAO类,
通过它们可以与数据库访问技术相关的数据源和其他配置信息

JDBC组件类
jdbcTemplate:封装了常用的JDBC方法
jdbcDaoSupport:JDBC数据访问对象的基类

jdbcDaoSupport
利用JDBC技术编写DAO的父类,通过此类提供的方法,可便于获取Connection对象和JDBCTemplate对象
操作数据库的增删改查方法

jdbcDaoSupport使用时需要注入一个DataSource对象

jdbcTemplate
封装连接获取以及连接释放等工作,提供操作数据库增删改查方法,从而简化对JDBC的使用,避免忘记关闭连接等错误

如何编写DAO组件
基于JDBC技术编写DAO组件可以采用以下两种方式:
1)DAO继承JdbcDaoSupport,通过getJdbcTemplate方法获取JdbcTemplate对象,需要在DAO实现类中注入一个DataSource对象
来完成JdbcTemplate的实例化

2)DAO不继承JdbcDaoSupport,在Spring容器中配置一个JdbcTemplate的Bean,在DAO组件中注入

实例操作
use test;
show tables;

员工表
create table emp(
empno int(4) primary key auto_increment,
ename varchar(10) not null,
salary double(7,2),
bonus double(5,2),
hiredate date,
deptno int(2)
);

主键字段设置成自增长,可不可以给值,可不可以给空值

insert into emp values(
1001,'张三',33333.33,333.33,now(),1
);

insert into emp values(
null,'李四',44444.44,444.44,now(),2
);

insert into emp values(
null,'王五',55555.55,555.55,now(),3
);

insert into emp values(
null,'赵六',66666.66,666.66,now(),4
);

1.Spring对JDBC整合支持的更多相关文章

  1. 【spring基础】spring与jdbc整合详解

    先上一段简单示例 public class MyTemplate { private DataSource dataSource; public DataSource getDataSource() ...

  2. 8.Spring对JDBC的支持和事务

    1.Spring对JDBC的支持 DAO : Spring中对数据访问对象(DAO)的支持旨在简化Spring与数据访问技术的操作,使JDBC.Hibernate.JPA和JDO等采用统一的方式访问 ...

  3. [原创]java WEB学习笔记109:Spring学习---spring对JDBC的支持:使用 JdbcTemplate 查询数据库,简化 JDBC 模板查询,在 JDBC 模板中使用具名参数两种实现

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  4. Spring对jdbc的支持

    Spring对jdbc技术提供了很好的支持. 体现在: 1)Spring对c3p连接池的支持很完善: 2)Spring对jdbc提供了JdbcTemplate,来简化jdbc操作: 1.使用步骤 1) ...

  5. spring 对JDBC的支持 (8)

    目录 一.jdbc的简介 二.jdbcTemplate 的使用 2.1 maven 引入spring - jdbc ,c3p0 ,数据库mysql驱动 2.2 配置 数据源以及jdbcTemplate ...

  6. Spring对 JDBC 的支持,JdbcTemplate类的使用

    导包:spring框架的包 和 连接数据库连接池的c3p0包 连接mysql数据库的包; 在src目录下建立jdbc.properties文件:存放连接数据库的属性值 jdbc.user=root j ...

  7. Spring框架学习笔记(9)——Spring对JDBC的支持

    一.使用JdbcTemplate和JdbcDaoSupport 1.配置并连接数据库 ①创建项目并添加jar包,要比之前Spring项目多添加两个jar包c3p0-0.9.1.2.jar和mysql- ...

  8. Spring 对JDBC的支持(JdbcTemplate)

    Spring对数据库的操作,使用JdbcTemplate对象 需要引入相关的jar文件 如版本:(Spring核心jar包就不列了) spring-jdbc-3.2.5.RELEASE.jar spr ...

  9. spring与jdbc整合

    spring+jdbc开发,我使用的是c3p0连接池 1.数据库建表: create table person( id int primary key auto_increment, name var ...

随机推荐

  1. hadoop历史版本,包括大名鼎鼎的hadoop 0.20.2

    http://archive.apache.org/dist/hadoop/core/ 大名鼎鼎的hadoop 0.20.2在此: http://archive.apache.org/dist/had ...

  2. 第一次java程序测试感受

    第一次JAVA程序设计测试,检验了一个暑假的成果.显而易见,我做的并不是很好,程序最起码的输入输出以及方法的定义还是没有问题的,但是考到了文件输入输出便看出来了.对于文件的输入输出,虽然我预习到那里, ...

  3. cordova 内部API 用ssl https,报错

    环境:node6.10.1 cordova 6.x, ionic 2.2.1 用cordova/ionic 建立的app我们的api 地址要用https,做了安全加密之后,按照正常的流程,打包,然后跑 ...

  4. Laravel 5.2 INSTALL- node's npm and ruby's bundler.

    https://getcomposer.org/doc/00-intro.md Introduction# Composer is a tool for dependency management i ...

  5. [性能优化] perf

    运行时性能分析工具 wiki:https://en.wikipedia.org/wiki/Perf_(Linux) linux wiki:https://perf.wiki.kernel.org/in ...

  6. 深探树形dp

    看到同学在写一道树形dp,好奇直接拿来写,发现很不简单. 如图,看上去是不是很像选课,没错这不是选课,升级版吧,多加了点东西罢了.简单却调了一晚上和一上午. 思路:很简单强联通分量+缩点+树形dp.直 ...

  7. 图->连通性->最小生成树(克鲁斯卡尔算法)

    文字描述 上一篇博客介绍了最小生成树(普里姆算法),知道了普里姆算法求最小生成树的时间复杂度为n^2, 就是说复杂度与顶点数无关,而与弧的数量没有关系: 而用克鲁斯卡尔(Kruskal)算法求最小生成 ...

  8. falsk_蓝图(blueprint)

    蓝图(blueprint) 随着业务代码的增加,将所有代码都放在单个程序文件中,是非常不合适的.这不仅会让代码阅读变得困难,而且会给后期维护带来麻烦. 什么是蓝图 蓝图:用于实现单个应用的视图.模板. ...

  9. 如何在Pycharm中配置Python和Django(环境搭建篇)

    一.准备好以下必备条件,并且按照先后顺序进行安装: Python 3.6 (64-bit).或Python27(64-bit) Django-1.11.tar.gz pycharm 开发工具 安装好了 ...

  10. 【PyQt5-Qt Designer】简易的数字键盘输入+简易计算器

    参考如下键盘格式写了一个键盘输入,目前还不能进行运算,后期完善... 效果如下: 完整代码: from PyQt5.QtWidgets import (QApplication,QWidget,QPu ...