先认识一下这几个类。Resources是一个class

SqlSessionFactoryBuilder

创建新项目

复制相关的依赖

复制之前的代码

复制到当前项目的src下

把Mybits的依赖删除掉

删除Mbits依赖后,就相当于没有Mybits的内容了。

新建类Resources


之类就可以把Resources的包导入进来了。就是我们自己新建的类 Resources

Resources类里面创建方法getResourceAsStream

方法内是三步:
1.拿到类的字节码
2.获取字节码的类加载器
3.根据类加载器,读取配置

SqlSessionFactoryBuilder


创建builder方法,返回的类型是SqlSessionFactory

SqlSessionFactory是一个接口。

创建SqlSessionFactory接口


我们这里先return一个null。让他先不报错。


这样这里的build方法就能用了。

定义接口SqlSession

SqlSessionFactory接口内定义方法,openSession返回的也是一个接口SqlSession



创建好后,SqlSession就可以导包进来 了。 

创建方法getMapper


参数是dao接口的字节码

定义close方法

这样测试类就都没有错误了

填充代码

要想正确的运行,要把具体的代码都填充全。

这里面有Stream流 就涉及到要解析xml文件。

打开xml的配置文件。这里都报错了。


解析xml不是本节课的重点,所以在解析xml这段的时候,我们选择直接使用工具类
我们自定义的代码也不需要下面红框内选中的声明,所以删掉。

删掉以后的

阶段3 1.Mybatis_03.自定义Mybatis框架_3.自定义mybatis的编码-根据测试类中缺少的创建接口和类的更多相关文章

  1. Unit07: MyBatis框架简介 、 MyBatis基本应用

    Unit07: MyBatis框架简介 . MyBatis基本应用 1. myBatis (1)myBatis是什么? 是一个开源的持久层框架. 注:myBatis底层仍然是jdbc. (2)编程步骤 ...

  2. Mybatis框架学习总结-Mybatis框架搭建和使用

    Mybatis介绍 Mybatis是一个支持普通SQL查询,存储过程,和高级映射的优秀持久层框架.Mybatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.Mybatis可以使 ...

  3. 阶段3 1.Mybatis_03.自定义Mybatis框架_7.自定义Mybatis的编码-实现基于注解配置的查询所有

    注解的方式,这里进行修改.上面注释的是原来xml的方式. 在dao类里面加上注解 创建注解类 声明注解的生命周期为Runntime 改变注解出现的位置,在Mehtod方法上 写完之后这里就不报错了. ...

  4. 阶段3 1.Mybatis_03.自定义Mybatis框架_6.自定义Mybatis的编码-实现基于XML的查询所有操作

    接下来就可以写创建代理对象的方法了 类加载器,代理谁,就用谁的加载器,因为这里用daoInterfaceClass.getClassLoader() 第二个代理谁就要和谁有相同的接口,daoInter ...

  5. 阶段3 1.Mybatis_03.自定义Mybatis框架_5.自定义Mybatis的编码-创建两个默认实现类并分析类之间的关系

    把XMLConfigBuilder的包名补全 这样我们就可以调用里面的loadConfiguration方法了 创建工厂实现类 实现SqlSessionFactory的接口 实现接口里面的方法 把cf ...

  6. 阶段3 1.Mybatis_03.自定义Mybatis框架_4.自定义mybatis的编码-解析XML的工具类介绍

    导入xml操作的类和用到的相关包 创建util包,然后把提供好的XMLConfigBuilder.java文件复制3过来 复制过来,里面用到了很多dom4j的东西 打开pom.xml 输入depend ...

  7. 阶段3 1.Mybatis_03.自定义Mybatis框架_2.自定义Mybatis的分析-创建代理对象的分析

    如何创建代理对象,以及使用设计模式带来的优势 调用的组合关系 不关注的,执行JDBC那一套.第二个是解析XML,解析的技术有很多.

  8. 阶段3 1.Mybatis_03.自定义Mybatis框架_1.自定义Mybatis的分析-执行查询所有分析

  9. Spring3.0 与 MyBatis框架 整合小实例

    本文将在Eclipse开发环境下,采用Spring MVC + Spring + MyBatis + Maven + Log4J 框架搭建一个Java web 项目. 1. 环境准备: 1.1 创建数 ...

随机推荐

  1. uni-app导航栏配置

    uni-app写app的内容会与沉浸栏重合在一起,写好好多,都是有点问题的,这次终于找到解决的方法了,与大家分享一下 最简单的解决方式就是配置mainfest.json来关闭沉浸式.即通过打开应用的m ...

  2. kubernets全套笔记

    Master/node Master核心组件: API server,Scheduler,Controller-Manager  etcd(存储组件) Node核心组件:  kubelet(核心组件) ...

  3. Centos 7 SSh--端口号的更改

    前言:开启某服务或软件的端口,要从该服务或软件监听的端口(多以修改配置文件为主),SeLinux和防火墙(FireWall)的安全策略下手.如果使用阿里云,腾讯等第三方服务器还需要对管理控制台的安全组 ...

  4. 如何替换B字段内包含A字段的那部分内容

    Customer表A字段  varchar(50)     内容(客户姓名)B字段  varchar(1000)   内容(其他字符...客户姓名...其他字符)需要达到效果:将B字段中的客户姓名替换 ...

  5. Maven搭建简单的SPring+SpringMVC+Hibernate框架

    公司的项目用到的框架是Spring+SpringMVC+Hibernate 以前没有用过,所以要系统的学习一下,首先要学会怎么搭建 第一步  创建一个Maven的web项目  创建方法以前的博客中有提 ...

  6. 常用命令之------tcpdump

    语法: tcpdump [options] [not] proto dir type 案例 tcpdump -i eth0 host 192.168.1.1 and icmp -n -w /tmp/t ...

  7. selenium常用定位方式

    Selenium 是一个Web应用程序的自动化测试工具.使用javaScript内核语言编写,几乎支持所有能运行javaScript的浏览器(包括IE(7, 8, 9, 10, 11),Mozilla ...

  8. Python-一些总结

    背景 主要是用来记录我在学习python过程中学习到他人的一些建议和自己的经验,有些内容可能并不妥,如果有请及时通知我纠正,谢谢.qq:472668561 我使用的python版本是3.7.4. 内容 ...

  9. LAMP系统优化

    LAMP系统优化 2011-03-18 10:23 度哥 互联网 字号:T | T LAMP(Linux+Apache+Mysql+Perl/PHP/Python)常用来搭建动态网站或者服务器的开源软 ...

  10. Html5大文件断点续传实现方法

    之前仿造uploadify写了一个HTML5版的文件上传插件,没看过的朋友可以点此先看一下~得到了不少朋友的好评,我自己也用在了项目中,不论是用户头像上传,还是各种媒体文件的上传,以及各种个性的业务需 ...