Git Product home page Git Product logo

mybatiscn's Issues

不明的一个注释

这个类 org.apache.ibatis.reflection.Reflector#pickBetterSetter

image
if (paramType1.isAssignableFrom(paramType2)) { // 父类的那个为准 return setter2; } else if (paramType2.isAssignableFrom(paramType1)) { return setter1; }
这里应该是以子类的为准吧

注释问题

关于MapperMethod中resolveMappedStatement()方法的注释
@param declaringClass 操作方法所在的类。一般是映射接口本身,也可能是映射接口的子类

这里子类应该改作父类吧,interface A(amethod)--extend-->interface B(bmethod),B的实现类应该实现a&b两个方法,如果namespace:B中只映射了b方法,不过A的实现类namespace:A实现了a方法,getMap(B.class).amethod因为B没实现,mybatis会找到父接口的实现类来实现吧。很喜欢yee的书,如指正有误,望回复

PropertyCopier.copyBeanProperti描述错误

文中写的是:
copyBeanProperties方法的工作原理非常简单:通过反射获取类的 所有属性,然后依次将这些属性值从源对象复制出来并赋给目标对象。 但是要注意一点,该属性复制器无法完成继承得来的属性的复制,因为
getDeclaredFields方法返回的属性中不包含继承属性。

这个是可以获得继承来的属性的,他循环复制属性后,最后会获取父类判空继续循环父类的属性进行赋值

书中发现的疑似错误和建议

P34 代码3-30中,"return handler.query"应改为"return handler.query";
P34 倒数第二行,"handler.query"应改为"handler.query";
P35 代码3-32中,"return resultSetHandler.handleResultSets"应改为"return resultSetHandler.handleResultSets";
P35 倒数第7行,"为 h>statement>result"应改为"为 h>statement>results";
P36 第一行,"交给ResultHanlder对象"应改为"交给ResultSetHanlder对象";
P36 第三行,"交给ResultHanlder对象"应改为"交给ResultSetHanlder对象","ResultHandler是"应改为"ResultSetHandler对象是";
P45 5.1.2下第五行,"则必须继承Serializable接口"应改为"则必须实现Serializable接口"
P84 图8-1下第二行,"BaseTypeHandler继承了"应改为"BaseTypeHandler实现了","并实现了TypeHandler中的接口"应改为"并实现了TypeHandler中的抽象方法"
P101 代码10-2下第一行,"而对象适配器Adaptee"应改为"而对象适配器Adapter"
P141 图14-1上第三行,"不需要关系建造对象的细节"应改为"不需要关心建造对象的细节"
P148 倒数第三行,"赋予默认的属性名称"expression""应改为""赋予默认的属性名称"property""
P174 代码15-9上第三行,"如果sex的值为0,则最终输出结果为Girl对象"应改为"如果sex的值为1,则最终输出结果为Girl对象","如果sex的值为1,则最终输出结果为Boy对象"应改为"如果sex的值为0,则最终输出结果为Boy对象"
P280 代码20-2中第2行,"connection.setAutoCommit(true);"应改为"connection.setAutoCommit(false);";
P285 21.2上第三行,"那么这个类可以继承Iterable接口"应改为"那么这个类可以实现Iterable接口";
P285 21.2下第二行,"并使用List接受这些对象"应改为"并使用List接收这些对象";
P286 21.4下第二行,"DefaultCursor类直接或间接继承了"应改为"DefaultCursor类直接或间接实现了";
P288 21.4.3下第一行,"CursorIterator类继承了"应改为"CursorIterator类实现了";
P288 21.4.3下第er行,"DefaultCursor类间接继承了"应改为"DefaultCursor类间接实现了";
P296 22.1.1下第二行,"则必须继承Serializble接口"应改为"则必须实现Serializble接口";
P296 22.1.1下第四行,"我们还给出了继承"应改为"我们还给出了实现";
P296 22.1.1下第五行,"继承Serializable接口"应改为"实现Serializable接口";
P296 倒数第五行,"而继承Externalizable接口"应改为"而实现Externalizable接口";
P302 第二行,"可以用图22-6将继承Externalizable"应改为"可以用图22-6将实现Externalizable";
P302 图22-6下第一行,"继承Serializable接口的类"应改为"实现Serializable接口的类";
P303 第六行,"而ThreadLocal是典型的“时间换空间”思路的应用"应改为"而ThreadLocal是典型的“空间换时间”思路的应用";
P324 倒数第十一行,"我们知道,在继承了Serializable"应改为"我们知道,在实现了Serializable";
P324 倒数第一行,"与之一起消失的还有MetaObject对象和ResultLoader对象"应改为"与之一起消失的还有MetaObject对象和Log对象";
P325 代码 22-33上第一行,"调用代码22-33所示的createProxy方法"应改为"调用代码22-33所示的crateProxy方法";
P325 代码22-33中倒数第二行,"static Object createProxy(...)"应改为"static Object crateProxy(...)";
P326 代码22-34上第七行,"代码22-33所示的createProxy方法"应改为"代码22-33所示的crateProxy方法";
P326 代码22-34上第六行,"则会让代理类继承WriteReplaceInterface"应改为"则会让代理类实现WriteReplaceInterface";
P331 图22-22中最后一行最左边,"BaseStatementHandler"应改为"SimpleStatementHandler";
P366 代码24-1中第3-6行,"// 创建三个工作人员实例...",建议可以去除;

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.