阶段3 2.Spring_09.JdbcTemplate的基本使用_6 JdbcDaoSupport的使用以及Dao的两种编写方式...
复制三个出来。分别叫做 OrderDaoImpl、ProductDaoImpl、UserDaoImpl 复制这三个出来就是为了解决重复性代码的问题。
每个dao中都有这段代码。这些都是重复性的代码。在我们的实际开发过程中,是可以避免的
延时完 就删掉其他几个实现类。还是保留AccountDaoImpl
复制一个出来,改名叫做2
抽取dao中的重复代码
把公共的代码抽取出来
删除后这里面的就都报错了
还需要提供get方法
然后就可以对dao中的jdbcTemplate进行替换了。使用父类的getJdbcTemplate方法
也可以前面加上super点。表示调用父类的方法
定义DataSource并实现set方法。
如果IDEA没有自动导包的话。这里自己上面手动导入包
这个时候DataSource就有内容了。
new一个jdbcTemplate。里面是支持构造方法初始化的
这里的DataSource虽然声明和赋值了,但是没有用,可以删掉
修改前
修改后。值在accountDao里面注入dataSource,
上面注入dataSource后,它会触发这个的setDataSource
测试
数据被更新了。
spring 的方式
所以这个类通过spring也可以实现这个操作。,把JdbcDaoSupport这个类代码全部注释掉
注释后。dao里面自动导入了一个包
主要作用:去除掉注入和定义的重复代码
区别
区别,如果我是注解的方式。这里我们自己定义的jdbcTemplate可以用Autowired自动注入机那里
一旦继承了spring提供的这个JdbcDaoSupport
想在这里加注解是不可能的了。因为这个位置是spring的jar包中的代码。我们改不了,这里是只读属性的
自己定义的方式可以应用于xml和注解两种方式
一定继承了spring提供的JdbcDaoSupport。再想用注解的方式就变的比较麻烦了。所以这两种dao的区别,。就看你才用哪种方式配置。
如果是注解配置才用,Impl2这的这种方式
如果是xml的配置就才用,继承spring 的jdbcDaoSupport这种方式
以上就是dao编写的两种方式
转载于:https://www.cnblogs.com/wangjunwei/p/11362806.html
阶段3 2.Spring_09.JdbcTemplate的基本使用_6 JdbcDaoSupport的使用以及Dao的两种编写方式...相关推荐
- PLOS Biology脑电研究:不同训练阶段中选择性注意的两种机制
选择性注意可以通过注意增益与降低神经噪声来增强对感觉信息的处理.然而,这两种机制在多大程度上有助于改善注意过程中的知觉表现仍然存在争议.本文假设:采用哪种选择性注意机制取决于任务训练的持续时间.本研究 ...
- Springboot中数据库访问的两种方式之-JdbcTemplate
目录 01.写在前面 02.项目依赖 03.创建模型脚本 04.读取数据库 05.Controller 06.开始测试 本文由bingo创作,授权我原创发布. Tiger和他朋友们的原创技术文章,请关 ...
- C语言handle对象对应java,c语言和java语言之间的关系到底是怎么样的,两种 体系?还是一种体系的不同阶段?还是其它的什么?...
在学习JAVA期间感觉JAVA与C语言之间的区别很多,但联系又很大因为它也是C语言的一个分支,JAVA是面向对象的语言,C是面向过程的语言,我认为不能单纯地比较好坏 .在速度上,C语言编写的程序要优于 ...
- 二阶段补充:文件上传服务端处理,后端文件上传、前端两种文件上传方式
1.文件上传 2.后端文件上传 两种方案: 兼容性较好的commons-fileupload,支持所有版本的Servlet,即所有版本的Tomcat 优点: 兼容性 缺点 需要外部jar,比较麻烦.代 ...
- Spring-学习笔记09【JdbcTemplate的基本使用】
Java后端 学习路线 笔记汇总表[黑马程序员] Spring-学习笔记01[Spring框架简介][day01] Spring-学习笔记02[程序间耦合] Spring-学习笔记03[Spring的 ...
- 游戏引擎算法探究:游戏核心之固定流水线
3D游戏或者是虚拟现实逐步成为市场主流,由于IT行业的薪资普遍比较高,很多IT开发者转行到游戏开发或者说是虚拟现实开发中.但是大部分人只限于会使用引擎开发工具,比如使用Unity3D引擎或者是UE4虚 ...
- Mybatis系列全解(六):Mybatis最硬核的API你知道几个?
2020 年的大疫情,把世界撕成几片. 时至今日,依旧人心惶惶. 很庆幸,身处这安稳国, 兼得一份安稳工. · 东家常讲的一个词:深秋心态 . 大势时,不跟风.起哄, 萧条时,不放弃播种和耕耘的信心, ...
- NLP判断语言情绪_网易严选nlp预训练语言模型的应用
随着2018年底bert的发布,预训练(pre-train)成为nlp领域最为热门的方向之一,大规模的无监督语料加上少量有标注的语料成为了nlp模型的标配.本文将介绍几种常见的语言模型的基本原理和使用 ...
- 教程篇(7.0) 05. FortiGate基础架构 IPsec安全隧道 ❀ Fortinet 网络安全专家 NSE 4
在本节课中你将了解IPsec VPN的架构组件以及如何配置它们. 本节课,你将学习上图显示的主题. 通过展示IPsec基础知识的能力,你将能够理解IPsec的概念和好处. IPsec是什么?什 ...
- 微服务项目后台技术栈
微服务项目后台相关技术整理 主要技术 ORM框架-Mybatis Plus Mybatis Plus核心功能 MyBatis Plus与SpringBoot集成 MyBatis Plus集成Sprin ...
最新文章
- 每日起床前做这五个动作,可保障你终身不感冒——奥运福娃设计师韩美林老师亲测可用
- http头部消息中的cache-control解释
- iOS开发-简单工厂模式
- 公积金买房有什么好处?
- Codeforces Round #348 (VK Cup 2016 Round 2, Div. 2 Edition) D. Little Artem and Dance 模拟
- CSS自定义消息提示
- nacos 持久化 mysql(windows/linux环境)
- 华为P50 Pro渲染图再曝光:液态镜头、四曲面屏很吸睛
- C++新特性探究(三):=default、=delete
- CocoaPods 安装与使用
- MyBatis的懒加载(延迟加载)
- 科学绘图与数据分析软件SigmaPlot
- Qt中调用C语言函数库
- python椭圆花瓣_python之花瓣美女下载详解
- 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
- Git超详解七 储藏 (看不懂算我输)
- 专门卖游戏辅助的平台_各大游戏售卖平台
- 苹果系统中英文输入法切换_Mac 一键切换中英输入法方案
- 一米OA任意文件读取漏洞
- 【ArnoldC4D】6.ArnoldToC4D_光泽和反射光线深度(glossy_and_reflection)
热门文章
- Java网络编程学习笔记
- debian如何安装wifi驱动_装机人员是如何离线为Win7、Win10、XP安装驱动的?小编告诉你…...
- Jupyter Notebook Config
- caffe测试单张图片
- 深度学习(十五)基于级联卷积神经网络的人脸特征点定位-CVPR 2013
- python实现json文件中向量写入Excel中
- 奇异值分解SVD与在降维中的应用
- 剑指offer答案python_剑指offer(python)(未完)
- 区块链入门教程openzeppelin库详解
- linux 提取执行命令后的输出 shell脚本