![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mybatis
云乐QAQ
这个作者很懒,什么都没留下…
展开
-
Mybatis原码学习(五)还是反射工具箱
对于反射工具箱,前面学习了Reflector还有类型解析TypeParameterResolver,都是不咋好理解的,今天接着来点思维简单点的。 ObjectFactory 这是用来创建实体对象的接口。代码如下: public interface ObjectFactory { //设置配置信息 void setProperties(Properties properties); //通过无参构造器创建实体对象 <T> T create(Class<T> type);原创 2020-06-02 18:53:51 · 328 阅读 · 2 评论 -
Mybatis原码学习(四)TypeParameterResolver
得先申明下,这篇文章应该不会有借鉴价值,我也只能是斗胆总结下。 为什么呢,因为这是我目前为止遇到问题最大的一部分,绕过去绕过来,可能是自己对泛型、类型学习都还不够,理解得很吃力很吃力。 代码部分来自博客:https://www.jianshu.com/p/73bb429b9a01 我实在懒得打注释了,解释就用文章的方式吧。 在开始介绍TypeParmeterResolver之前,得了解一下Type的知识: Type是所有类型的父接口,它有四个子接口和一个实现类。 下面来看这些子接口和子类所代表的类型。 C原创 2020-06-01 19:15:48 · 448 阅读 · 0 评论 -
Mybatis原码学习(三)Reflector
相对于java自带的反射功能,Mybatis封装了更适合本身的反射工具箱,提供了更简洁的API Reflector Reflector是Mybatis中反射模块的基础,每个Reflector对象都对应了一个类 下面是Reflector类中的各个字段: //对应的class类型 private Class<?> type; //对应的getter方法的属性 private String[] readablePropertyNames = EMPTY_STRING_ARRAY; //原创 2020-05-31 19:12:23 · 227 阅读 · 0 评论 -
Mybatis原码学习(二)基础支持层:解析器模块
在Mybatis中设计到多个xml文件,就得接触到xml解析的内容。 xml解析常见的方式有三种,DOM,SAX,StAX DOM: 树型结构,搜索快,添加修改也快,找自己的关系节点也快,但是呢在运行的时候需要把整个XML文档放入内存当中,搭建树形结构,所以如果xml中的数据量比较大,就会造成较大的资源浪费。 SAX: 流式处理,只将一部分xml文档加载到内存中,资源占用较小,而且程序处理模式就像深搜一样,达成自己的目的就立即退出,不必解析剩余的。 解析节点的时候出发节点上面的回调函数,回调函数是由开发人员原创 2020-05-28 17:49:25 · 139 阅读 · 0 评论 -
Mybatis学习笔记(四) 其他相关概念(好多有用的工具)
①日志 由于写代码的过程中,有很多时候需要输出调试信息,然后平时我们使用system.out.println的时候就会很麻烦,又不知道是哪个类出了问题、哪个线程出来的,也没办法把关闭调试信息,只能一条条删。 那么! 就有个第三方的日志工具Log4j(不是mybatis自带),开启日志! 知道执行了哪些sql语句,以便进行调试: 首先要准备一个log4j.properties,这里面是日志的配...原创 2020-03-20 18:25:58 · 238 阅读 · 0 评论 -
Mybatis学习笔记(三) 注解
和之前学习的spring一样,利用注解的方式代替映射文件。 注解CRUD 新增加一个CategoryMapper接口,并在方法的上面加上注解,对比之前的xml映射,就是把sql语句提到了注解上面。 package com.how2java.mapper; import java.util.List; import org.apache.ibatis.annotations.Del...原创 2020-03-19 19:23:04 · 406 阅读 · 0 评论 -
Mybatis学习笔记(二) 动态SQL
mybatis可以在xml中结合一些标签,对sql语句进行动态处理。 IF标签 昨天咱写查询的时候,有查询所有listProduct和模糊查询listProductByName 两个方法,在调用的时候就需要分别调用他们。 如果使用if标签,就可以通过判断你有没有name参数,有就模糊查询,没有就查询所有。 就实现了一条sql语句应付多种情况。 <select id="listPr...原创 2020-03-17 14:43:15 · 167 阅读 · 0 评论 -
Mybatis学习笔记(一) 基础
之前访问数据库都是除了自己写sql语句,还要statement,connection等等比较繁琐的的重复代码。 mybatis的作用就是它帮我们去做这些繁琐的事情,我们只需要自己提供sql语句就行了。 配置 先把数据库和数据表创建好。 创建的表名为category_, 然后创建对应的pojo: package com.how2java.pojo; public class ...原创 2020-03-16 18:05:55 · 153 阅读 · 2 评论