本次改版的特点是:(1)以mybatis内容为核心,延伸到spring,mysql,java基本知识,java并发包,redis,dubbo。后期改版将对所列出的六大模块进行重点建设。(2)以上六大模块的内容,采用外链的形式,精选质量高、流量大的文章推荐给大家。如果每篇文章都是自己写,太花费时间了,再者,很多博主技术踏实,研究的也比较深,所以就直接推荐...

建站初期,为了填充内容,部分内容编辑比较仓促,近期打算全站走查一遍,进行内容修订。部分内容将会进行归类调整,对读者带来不便敬请谅解。类似一本书,只有不断的再版才能让内容变的更好,希望本站越走越远。当前修订到第7页:(8)MyBatis的配置文件详解之三

JdbcType介绍数据库列字段都是有类型的,不同的数据库有不同的类型。为了表示这些数据类型,Java源码是采用枚举来定义的:public enum JDBCType implements SQLType { TINYINT(Types.TINYINT), SMALLINT(Types.SMALLINT), INTEGER(Ty...

源码走读系列先不再网上发布了,很多类写的其实挺简单的,也没有什么可以说的,发布到网上显得空洞,后期抓住几个重点类介绍就可以了。但是源码走读不会终止的,因为后期各种问题的解决,还的靠源码的分析。

@Documented@Retention(RetentionPolicy.RUNTIME)@Target({})public @interface Result { boolean id() default false;String column() default "";String property() default "";Class<...

@Documented@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public @interface Options { /**The options for the {@link Options#flushCache()}.The default is {@link F...

@Documented@Retention(RetentionPolicy.RUNTIME)@Target({})public @interface One { String select() default "";FetchType fetchType() default FetchType.DEFAULT;}

@Documented@Inherited@Retention(RUNTIME)@Target({ TYPE, METHOD, FIELD, PARAMETER })public @interface Mapper { // Interface Mapper}看注释吧:Marker interface for MyBatis mappers

@Documented@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public @interface MapKey { String value();}只要注意这一点就可以了:@Target(ElementType.METHOD),说明是修饰方法的。

@Documented@Retention(RetentionPolicy.RUNTIME)@Target({})public @interface Many { String select() default "";FetchType fetchType() default FetchType.DEFAULT;}many当做注解,见它的属性:sel...

@Documented@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public @interface Lang { Class<?> value();}需要注意:Lang表示什么呢?language

@Documented@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public @interface Insert { String[] value();}@Documented@Retention(RetentionPolicy.RUNTIME)@Target(Elem...

@Documented@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public @interface Flush {}看其注释:The maker annotation that invoke a flush statements via Mapper interface....

@Documented @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface Delete { String[] value(); }@Documented @Retention(RetentionPolicy.RUNTIME) @Targ...

ConstructorArgs类很简单,如下所示,其实源码并不想想象中那么难,很多代码写的很短小的。很多人想写个开源东西,让自己简历更出彩,其实开源并不是很难的。不过,要想写出高质量的开源成品,那就难了,需要足够的阅历。@Documented @Retention(RetentionPolicy.RUNTIME) @Target(ElementType...

Case类用于动态sql生成部分。@Documented @Retention(RetentionPolicy.RUNTIME) @Target({}) public @interface Case { String value(); Class<?> type(); Result[] results() default {...

本文更新日期:2019年10月9日1、CacheNamespaceRef 源码Java里面没有指针,但是Java里面有引用,CacheNamespaceRef就是一个引用。它是谁的引用呢?请看源码注释:A namespace type to reference a cache (the namespace name become a FQCN of s...

本文更新日期:2019年10月5日1、@CacheNamespace的源码分析@CacheNamespace注解主要用于mybatis二级缓存,等同于<cache>属性。默认情况下,MyBatis 3 没有开启二级缓存,要开启二级缓存,需要在SQL 映射文件(mapper.xml)中添加一行:<mapper namespace=&qu...

AutomapConstructor类,有点意思,看其注释:The marker annotation that indicate a constructor for automatic mapping.这就是一个起到注释作用的类,注释的作用大不大,说大也大,没有注释,代码会让人抓狂。这个类没有什么可解释的,贴源码:@Documented @Reten...

Arg类所在的包package org.apache.ibatis.annotations;Arg类源码@Retention(RetentionPolicy.RUNTIME) public @interface Arg { boolean id() default false; String column() default "...