zoukankan      html  css  js  c++  java
  • 阶段3 1.Mybatis_03.自定义Mybatis框架_6.自定义Mybatis的编码-实现基于XML的查询所有操作

    接下来就可以写创建代理对象的方法了
    类加载器,代理谁,就用谁的加载器,因为这里用daoInterfaceClass.getClassLoader()

    第二个代理谁就要和谁有相同的接口,daoInterfaceClass本身就是一个接口,这里创建一个类的数组把daoInterfaceClass传进去。

    如何代理呢?需要写一个自己的代理方式。MapperProxy这个类是没有的。

    创建MapperProxy

    实现接口InvocationHandler

    重写invoke方法

    这里把Mapper对象传递过来。

    代理类的实现里面。定义Mappers然后通过构造函数去接收。

    此时可以执行sql语句了 

    declare


    美 [dɪ'kler]
    英 [dɪ'kleə(r)]

    • v.声明;宣布;声称;断言
    • 网络宣告;数组声明;宣告行为


    通过key获取到mapper对象。

    这是一个runntime异常。

    复制提供的工具类


    放到我们的utils包下面。


    改下报名,里面就是执行selectList方法。

    导入Mapper的包。


    工具类需要传递一个Connection参数

    这里定义conn。通过构造函数传递进来。


    DefaultSqlSession里面 需要高一个conn对象。传过去。但是这里目前还没有。我们还要再close方法里面是放Connection


    在构造函数内赋值,把cfg这个对象传递过去

    clsoe方法用try catch捕获异常。并判断是否为null

    新建类DataSourceUtil

    用户创建数据源的工具类。



    直接return 创建好的Connection对象。

    修正一个地方

    下面用到putAll方法,上面就必须先new一个空的对象出来。

    测试



    最终的结构


    查询所有最终就调用工具类



    其实就是两件事,1创建代理对象 2实现查询所有。


     

  • 相关阅读:
    垃圾邮件处理
    主成分分析
    逻辑回归实践
    特征选择
    逻辑回归
    15 手写数字识别-小数据集
    14 深度学习-卷积
    13-垃圾邮件分类2
    12.朴素贝叶斯-垃圾邮件分类
    11.分类与监督学习,朴素贝叶斯分类算法
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11300299.html
Copyright © 2011-2022 走看看