一、前言MyBatis创建时的一个思想是:数据库不可能永远是你所想或所需的那个样子。我们希望每个数据库都具备良好的第三范式或BCNF范式,可惜它们并不都是那样。如果能有一种数据库映射模式,完美适配所有的应用程序,那就太好了,但可惜也没有。而ResultMap就是MyBatis对这个问题的答案。二、ResultMap的属性列表属性描述id当前命名空间中的一个唯一标识,用于标识一个结果映射。type类的完全限定名,或者一个类型别名(关于内置的类型别名,可以参考上面的表格)。autoMapping如果设置这个属性,MyBatis将会为本结果映射开启或者关闭自动映射。这个属性会覆盖全局的属性autoM
一、前言MyBatis创建时的一个思想是:数据库不可能永远是你所想或所需的那个样子。我们希望每个数据库都具备良好的第三范式或BCNF范式,可惜它们并不都是那样。如果能有一种数据库映射模式,完美适配所有的应用程序,那就太好了,但可惜也没有。而ResultMap就是MyBatis对这个问题的答案。二、ResultMap的属性列表属性描述id当前命名空间中的一个唯一标识,用于标识一个结果映射。type类的完全限定名,或者一个类型别名(关于内置的类型别名,可以参考上面的表格)。autoMapping如果设置这个属性,MyBatis将会为本结果映射开启或者关闭自动映射。这个属性会覆盖全局的属性autoM
Map源码剖析HashMap&LinkedHashMap&HashtablehashMap默认的阈值是0.75HashMapput操作put操作涉及3种结构,普通node节点,链表节点,红黑树节点,针对第三种,红黑树节点,我们后续单独去学习,这里不多做扩散finalVputVal(inthash,Kkey,Vvalue,booleanonlyIfAbsent, booleanevict){ Node[]tab;Nodep;intn,i; if((tab=table)==null||(n=tab.length)==0){ //初始化哈希数组,或者对哈希数组扩容,返回新的哈希数组 tab=
Map源码剖析HashMap&LinkedHashMap&HashtablehashMap默认的阈值是0.75HashMapput操作put操作涉及3种结构,普通node节点,链表节点,红黑树节点,针对第三种,红黑树节点,我们后续单独去学习,这里不多做扩散finalVputVal(inthash,Kkey,Vvalue,booleanonlyIfAbsent, booleanevict){ Node[]tab;Nodep;intn,i; if((tab=table)==null||(n=tab.length)==0){ //初始化哈希数组,或者对哈希数组扩容,返回新的哈希数组 tab=
Spring管理Bean-IOC-032.基于XML配置bean2.15bean的生命周期bean对象的创建是由JVM完成的,然后执行如下方法:执行构造器执行set相关方法调用bean的初始化方法(需要配置)使用bean当容器关闭时,调用bean的销毁方法(需要配置)例子House:packagecom.li.bean;/***@author李*@version1.0*/publicclassHouse{privateStringname;publicHouse(){System.out.println("House()构造器被执行...");}publicStringgetName(){re
Spring管理Bean-IOC-032.基于XML配置bean2.15bean的生命周期bean对象的创建是由JVM完成的,然后执行如下方法:执行构造器执行set相关方法调用bean的初始化方法(需要配置)使用bean当容器关闭时,调用bean的销毁方法(需要配置)例子House:packagecom.li.bean;/***@author李*@version1.0*/publicclassHouse{privateStringname;publicHouse(){System.out.println("House()构造器被执行...");}publicStringgetName(){re
Spring管理Bean-IOC-053.基于注解配置bean3.3自动装配基本说明:基于注解配置bean,也可以实现自动装配,使用的注解是:@AutoWired或者@Resource@AutoWired的规则说明(1)在IOC容器中查找待装配的组件的类型,如果有唯一的bean装配(按类型),则使用该bean装配(2)如果待装配的类型对应的bean在IOC容器中有多个,则使用待装配的属性的属性名作为id值进行查找,找到就装配,找不到就抛异常@Resource的规则说明(1)@Resource有两个属性比较重要,分别是name和typeSpring将@Resource注解的name属性解析为be
Spring管理Bean-IOC-053.基于注解配置bean3.3自动装配基本说明:基于注解配置bean,也可以实现自动装配,使用的注解是:@AutoWired或者@Resource@AutoWired的规则说明(1)在IOC容器中查找待装配的组件的类型,如果有唯一的bean装配(按类型),则使用该bean装配(2)如果待装配的类型对应的bean在IOC容器中有多个,则使用待装配的属性的属性名作为id值进行查找,找到就装配,找不到就抛异常@Resource的规则说明(1)@Resource有两个属性比较重要,分别是name和typeSpring将@Resource注解的name属性解析为be
1. Java81.1. 除了增加函数式特性,还增加了一些配合使用的语法糖衣1.2. 函数式接口1.2.1. SAM(SingleAbstractMethod,单抽象方法)接口1.2.1.1. 含有单一方法的接口是Java的一种习惯用法1.2.1.2. Runnable和Callable接口都是有代表性的例子1.2.2. 对旧有SAM接口的增强,它允许我们用lambda块取代传统的匿名类来就地实例化一个接口1.3. 默认方法1.3.1. 一些在接口类型中声明的,以default关键字标记的,非抽象、非静态的public方法(且带有方法体定义)1.4. mixin1.4.1. 介于接口和父类之间
1. Java81.1. 除了增加函数式特性,还增加了一些配合使用的语法糖衣1.2. 函数式接口1.2.1. SAM(SingleAbstractMethod,单抽象方法)接口1.2.1.1. 含有单一方法的接口是Java的一种习惯用法1.2.1.2. Runnable和Callable接口都是有代表性的例子1.2.2. 对旧有SAM接口的增强,它允许我们用lambda块取代传统的匿名类来就地实例化一个接口1.3. 默认方法1.3.1. 一些在接口类型中声明的,以default关键字标记的,非抽象、非静态的public方法(且带有方法体定义)1.4. mixin1.4.1. 介于接口和父类之间