阶段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编写的两种方式
最新文章
- Python 3.4 Library setup
- 使用强大的可视化工具redislive来监控我们的redis,别让自己死的太惨~~~
- oralce 密码长度
- HDU 1086You can Solve a Geometry Problem too(判断两条选段是否有交点)
- DSP using MATLAB 示例Example2.3
- [问题2014A06] 解答
- selenium2.0 处理各种窗口问题解决方法
- angularJS 系列(二)——理解指令 understanding directives
- JavaScript事件处理程序的3种方式
- vue使用Axios做ajax请求
- Yii2整合AdminLTE后台主题
- MySQL 存储过程循环
- matlab练习程序(加权最小二乘)
- GIT的前世今生
- vue 自学项目笔记
- Java知多少(29)覆盖和重载
- HTN规划 jshop2
- 理解开发HD 钱包涉及的 BIP32、BIP44、BIP39
- 简单 babel plugin 开发-使用lerna 工具
- PHP 7下安装Swoole和Yar、Yaf
热门文章
- epoll机制和简述
- python爬虫练习之批量下载zabbix文档
- Open Project' has encountered a problem
- 安全框架Shiro和SpringSecurity的比较
- ping —— 虚拟机
- BZOJ 4555 Luogu P4091 [HEOI2016/TJOI2016]求和 (第二类斯特林数)
- [pytorch笔记] torch.nn vs torch.nn.functional; model.eval() vs torch.no_grad(); nn.Sequential() vs nn.moduleList
- JavaWeb_(request和response)用户登录注册模板_基础版
- Android_(游戏)打飞机04:绘画敌机、添加子弹
- python3 类的属性、方法、封装、继承及小实例