阶段3 1.Mybatis_03.自定义Mybatis框架_3.自定义mybatis的编码-根据测试类中缺少的创建接口和类
先认识一下这几个类。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的编码-根据测试类中缺少的创建接口和类的更多相关文章
- Unit07: MyBatis框架简介 、 MyBatis基本应用
Unit07: MyBatis框架简介 . MyBatis基本应用 1. myBatis (1)myBatis是什么? 是一个开源的持久层框架. 注:myBatis底层仍然是jdbc. (2)编程步骤 ...
- Mybatis框架学习总结-Mybatis框架搭建和使用
Mybatis介绍 Mybatis是一个支持普通SQL查询,存储过程,和高级映射的优秀持久层框架.Mybatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.Mybatis可以使 ...
- 阶段3 1.Mybatis_03.自定义Mybatis框架_7.自定义Mybatis的编码-实现基于注解配置的查询所有
注解的方式,这里进行修改.上面注释的是原来xml的方式. 在dao类里面加上注解 创建注解类 声明注解的生命周期为Runntime 改变注解出现的位置,在Mehtod方法上 写完之后这里就不报错了. ...
- 阶段3 1.Mybatis_03.自定义Mybatis框架_6.自定义Mybatis的编码-实现基于XML的查询所有操作
接下来就可以写创建代理对象的方法了 类加载器,代理谁,就用谁的加载器,因为这里用daoInterfaceClass.getClassLoader() 第二个代理谁就要和谁有相同的接口,daoInter ...
- 阶段3 1.Mybatis_03.自定义Mybatis框架_5.自定义Mybatis的编码-创建两个默认实现类并分析类之间的关系
把XMLConfigBuilder的包名补全 这样我们就可以调用里面的loadConfiguration方法了 创建工厂实现类 实现SqlSessionFactory的接口 实现接口里面的方法 把cf ...
- 阶段3 1.Mybatis_03.自定义Mybatis框架_4.自定义mybatis的编码-解析XML的工具类介绍
导入xml操作的类和用到的相关包 创建util包,然后把提供好的XMLConfigBuilder.java文件复制3过来 复制过来,里面用到了很多dom4j的东西 打开pom.xml 输入depend ...
- 阶段3 1.Mybatis_03.自定义Mybatis框架_2.自定义Mybatis的分析-创建代理对象的分析
如何创建代理对象,以及使用设计模式带来的优势 调用的组合关系 不关注的,执行JDBC那一套.第二个是解析XML,解析的技术有很多.
- 阶段3 1.Mybatis_03.自定义Mybatis框架_1.自定义Mybatis的分析-执行查询所有分析
- Spring3.0 与 MyBatis框架 整合小实例
本文将在Eclipse开发环境下,采用Spring MVC + Spring + MyBatis + Maven + Log4J 框架搭建一个Java web 项目. 1. 环境准备: 1.1 创建数 ...
随机推荐
- 十三、LaTex中的参考文献BibTex
将默认文献工具设置为bibtex
- UIWebView与JS的交互
IOS-的UIWebView UIWebVew是ios开发中较为常用的一个控件.其可以打开网页,加载html,打开文档等.当我们在开发中需要用到一些显示页面时,UIWebView是一个很好的选择. 创 ...
- 在window环境下安装symfony2框架注意事项
首先先放上放上安装的教程:http://www.symfonychina.com/doc/current/setup.html 然后说一下笔者遇到的坑 在运行这条命令的时候,虽然成功下载读取下来了,但 ...
- wordpress的固定链接问题
在安装完wordpress后,按照其方法在/etc/apache2/sites-available/000-default.conf文件中添加了下述代码中的加重部分: [...] ServerAdmi ...
- sed编辑
data4.txt this is a test of the test scriptthis is the second test of the trial script data6.txt thi ...
- Jmeter启动jmeter-server.bat 报java.io.FileNotFoundException:rmi_keystore.jks 解决方法
解决方法:1.找到apache-jmeter-5.0\bin\jmeter.properties 2.修改server.rmi.ssl.disable=true (记得去除server.rmi.ssl ...
- 【HDU2089】不要62
题目大意:求区间 [n,m] 中数位不包含 4 和 62 的数字的个数. 题解:数位dp. 预处理出 \(f[i][j]\) 表示 i 位数字中以 j 为第一位的满足条件的数字个数. 对于统计答案来说 ...
- 树莓派VI命令大全(附vim使用异常,卸载重新安装步骤)
vi有3个模式:插入模式.命令模式.低行模式. 插入模式:在此模式下可以输入字符,按ESC将回到命令模式. 命令模式:可以移动光标.删除字符等. 低行模式:可以保存文件.退出vi.设置vi.查找等功能 ...
- python-套接字编程之tcp
服务端和客户端. 服务端脚本: # Auther:AlphaPanda # Description:server # Version:1 # Date:Mon Dec 2 09:02:01 EST 2 ...
- 封装了opencv的旋转图像函数
void ljb_cv_rotate_buf_size(IplImage *imgSrc, double degree, int *w_dst, int *h_dst) { double angle, ...