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. [No0000103]JavaScript-基础课程3

    在 JavaScript 中,函数的参数是比较有意思的,比如,你可以将任意多的参数传递给一个函数,即使这个函数声明时并未制定形式参数 function adPrint(str, len, option ...

  2. Java并发编程的4个同步辅助类(CountDownLatch、CyclicBarrier、Semphore、Phaser)

    我在<jdk1.5引入的concurrent包>中,曾经介绍过CountDownLatch.CyclicBarrier两个类,还给出了CountDownLatch的演示案例.这里再系统总结 ...

  3. MySQL transaction

    MySQL transaction(数据库的事务) 数据库事务(Database Transaction),是指作为单个逻辑工作单元执行的一系列操作. 要么完全执行,要么完全地不执行. ACID 事务 ...

  4. [knowledge][perl][pcre][sed] sed / PCRE 语法/正则表达式

    一直用sed一直没有正经的学过语法,一直一知半解的用着. 因为,它用来perl的语法,要想搞懂,首先要搞懂perl,系统的入个门... 之前,man sed,man了好多次,总是没找到关键内容,今天在 ...

  5. javascript中的值如何传递到django下的views.py中或者数据库中?

    用Ajax,Ajax有很多种写法,包括JQuery和JS,这里贴一个用JQuery写的最通用的Ajax,POST方法传递JSON格式数据: $.ajax({ url: "your url&q ...

  6. 转:mysql where group by having

    原文地址:https://blog.csdn.net/tengdazhang770960436/article/details/6992272 1.where为什么要写在group by之前呢? 因为 ...

  7. python编码类型互转总结

    1.只有在unicode下才能将utf-8与gbk互转2.unicode是在内存中使用,bytes是文件存储和网络传输时使用-------------------------------------- ...

  8. Vue子组件调用父组件的方法

    Vue子组件调用父组件的方法   Vue中子组件调用父组件的方法,这里有三种方法提供参考 第一种方法是直接在子组件中通过this.$parent.event来调用父组件的方法 父组件 <temp ...

  9. bug: 使用 iOS 系统方法进行二维码扫描,扫描区域的问题

    项目里用到了扫描,出现了bug:感觉就是把二维码正好框在扫描框里扫不出来,然后把镜头离二维码拉远,扫描速度很慢,但是能扫描出来.网上找了下代码,发现也没啥哪里不一样,感觉很坑啊,后面发现不设置 AVC ...

  10. python3安装ipython 过程以及问题

    由于需要再python3的环境下运行demo,因此安装了python3的ipython notebook,过程如下: sudo pip3 install ipython[all]这样就安装了pytho ...