zoukankan      html  css  js  c++  java
  • 阶段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编写的两种方式

  • 相关阅读:
    angular js模块,angular js控制器
    select ipnut双向数据绑定用法
    ng-repeat循环遍历的用法
    angular js起步
    文件上传(预览2 老师提供的方法)
    设置mui头部(头部与最上面可以设置同样的样子)支持ios (苹果) 安卓不支持
    点击按钮btn 打开(跳转)新的页面
    定位精准 并打印出来
    把原始坐标转化为百度坐标(位置更精确)
    原始地理定位
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11362806.html
Copyright © 2011-2022 走看看