自定义Mybatis框架】的更多相关文章

分析流程 1. 引入dom4j <dependencies> <!--<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.5</version> </dependency>--> <dependency> <groupId>dom4j&l…
项目结构:      https://files-cdn.cnblogs.com/files/mkl7/ownMybatis.zip 1. 创建maven工程并引入坐标: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/X…
先认识一下这几个类.Resources是一个class SqlSessionFactoryBuilder 创建新项目 复制相关的依赖 复制之前的代码 复制到当前项目的src下 把Mybits的依赖删除掉 删除Mbits依赖后,就相当于没有Mybits的内容了. 新建类Resources 之类就可以把Resources的包导入进来了.就是我们自己新建的类 Resources Resources类里面创建方法getResourceAsStream 方法内是三步: 1.拿到类的字节码 2.获取字节码的…
这里只需要 一是连接数据库的 二是映射的 注解是class的方式  dom4j技术获取xml的数据,这是xml的方式获取的下面几个关键的点 注解的方式回去dao类里面的几个主要的信息 User黄色的部门就是要封装到哪里的数据.基于注解的开发,如何拿到User是最关键的 设计注解和泛型相关的知识 最终得到class的名称…
注解的方式,这里进行修改.上面注释的是原来xml的方式. 在dao类里面加上注解 创建注解类 声明注解的生命周期为Runntime 改变注解出现的位置,在Mehtod方法上 写完之后这里就不报错了. 这段代码的注释放开 再把注释掉的方法LoadMaperAnnotation也放开 首先解析xml的class属性 得到的就是dao接口的全限定类名 找到注解就找到了sql语句 怎么获取到的结果类型呢? 通过getGenericReturnType拿到泛型. Generic表示的是泛型. 运行结果 1…
接下来就可以写创建代理对象的方法了 类加载器,代理谁,就用谁的加载器,因为这里用daoInterfaceClass.getClassLoader() 第二个代理谁就要和谁有相同的接口,daoInterfaceClass本身就是一个接口,这里创建一个类的数组把daoInterfaceClass传进去. 如何代理呢?需要写一个自己的代理方式.MapperProxy这个类是没有的. 创建MapperProxy 实现接口InvocationHandler 重写invoke方法 这里把Mapper对象传递…
把XMLConfigBuilder的包名补全 这样我们就可以调用里面的loadConfiguration方法了 创建工厂实现类 实现SqlSessionFactory的接口 实现接口里面的方法 把cfg作为参数传递给SqlSessionFactory的实现类 在实现类里面,提供一个Configration的对象,通过构造方法传递进来. Configuration里面包含了链接数据库的信息,以及执行的SQL语句 创建SqlSession实现类 工厂实现类里面把cfg传递到SqlSession的实现…
导入xml操作的类和用到的相关包 创建util包,然后把提供好的XMLConfigBuilder.java文件复制3过来 复制过来,里面用到了很多dom4j的东西 打开pom.xml 输入dependency.然后输入dom4j 这里用到的是dom4j的扩展内容,叫做xpath 用到xmpath就还需要导入包,jaxen 创建configuration 返回值是一个configuration.但是我们还没有这个 放到cfg的包下 我们把 configuration导进来.发现都是存放链接信息的…