07 2019 档案
摘要:SqlSessionFactory讲解 SqlSessionFactory通过类名可以看出其作用是通过工厂模式创建SqlSession,那么如何通过工厂模式创建Sqlsession呢?抛开Sqlsession,先看看SqlSessionFactory的类结构和相关的方法。SqlSessionFact
阅读全文
摘要:Mybatis环境配置类Environment 在初始化Mybatis框架时,需要配置environment元素,该元素允许有多个,方便我们在不同环境下切换后端的存储。拥有一个id属性用于该环境,此id必须唯一,否则后续配置会覆盖前面的配置,该元素拥有两个子元素(事务管理器),(数据源),这两个元素
阅读全文
摘要:类型处理器TypeHandler TypeHandler是Mybatis中一个非常重要的接口,用于处理参数类型,包括入参形式和返回结果集相关参数的转换。该接口定义了以下方法。其方法实现已经由子类BaseTypeHandler已经实现了。 void setParameter(PreparedState
阅读全文
摘要:mapper注册器(MapperRegistry) mapper注册器用于将所有的mapper接口添加到内存中,Mapper注册器自身维护着两个属性,config和knownMappers,其中knownMappers是一个 Class<?>, MapperProxyFactory<?>的集合,表示
阅读全文
摘要:@Mapkey的使用 在多值查询的时候,通常要把方法返回类型设置为List<Dto>类型,Mybatis为我们提供了另一种解决方式,通过K-V的形式将查询结果保存在Map中,这种实现方式只需要在方法上标注为@Mapkey即可。 如下代码:查询一个学生表,包含id,name,age三个字段,使用@ma
阅读全文
摘要:MethodSignature分析 MethodSignature为MapperMethod类提供了三个作用,获取待执行方法中的参数和@Param注解标注的参数名,获取标注有@MapKey的参数(@Mapkey作用在后续会讲到),方法的返回类型,获取SELECT操作时必要的标志位。以下是Method
阅读全文
摘要:MapperMethod中内部静态类SqlCommand的作用 在MapperMethod初始化中,会首先初始化两个内部静态类,SqlCommand就是其中之一,SqlCommand的作用主要体现在MapperMethod类的execute()方法里,SqlCommand为其提供了查询类型和方法id
阅读全文
摘要:反射类 Method类的使用 在Java反射中,可以使用Method类获取类,参数类型,方法注解,参数注解,方法返回值等信息,在使用Method类中,常会用到以下的方法。如下表所示。 getName() 使用如下的示例说明Method类的使用,下面代码段定义了两个参数级别的注解,在MethodSer
阅读全文
摘要:Mybatis源码分析: MapperMethod功能讲解(1) MapperMethod主要的功能是执行SQL的相关操作,在初始化时会实例化两个组件Sql命令(SqlCommand)和方法签名(MethodSignature)这两个组件会在后续进行详解,同时MapperMethod必须提供Mapp
阅读全文

浙公网安备 33010602011771号