2.3.1 TypeHandler存在错误的地方: 这四个方法分为两类:setParemeter() 方法负责将数据由“Jdbc类型转换为Java类型”【此处的正确表述:java类型转换成JdbcType类型】;getResult() 方法及其重载方法负责将数据由“java类型转换成JdbcType类型”【此处的正确表述:Jdbc类型转换为Java类型】。另外:该小节的第一处代码中的注释信息也不正确,错误解释了方法的类型转换。
给出的IntegerTypeHandler类相关源码中,最后一个方法的注释有误。原文:调用ResultSet.getInt()获取指定列值应改为:调用CallableStatement.getInt()获取指定列值
ResultSet.getInt()
CallableStatement.getInt()
2.5.4 单例模式第二句话:且需要自行完成【示例】——> 实例
“如果存在无法关联的SQL语句,在MyBatis的初始化节点就会抛出异常.”表述是不准确的.根据前文意思,作者可能想表达的是不存在和mapper接口中定义的方法关联的sql,这样才会抛出异常..(..因为开发的实践中大家都知道,有sql而接口中没有定义对应的方法是不会错的,idea会提示一下但是也不算错,eclipse甚至都不提醒的..)而mapper接口中定义了方法,没有对应的sql关联,是真的会报错.
BlockingCache BlockingCache是阻塞版本的缓存装饰器,它会保证只有一个线程到数据库中查找指定的key对应的数据。
从图2-44 来看不是“数据库” 应该为“缓存”勘误:数据库——-> 缓存
2.3.1 TypeHandler
存在错误的地方:
这四个方法分为两类:setParemeter() 方法负责将数据由“
Jdbc类型转换为Java类型”【此处的正确表述:java类型转换成JdbcType类型】;getResult() 方法及其重载方法负责将数据由“java类型转换成JdbcType类型”【此处的正确表述:Jdbc类型转换为Java类型】。另外:该小节的第一处代码中的注释信息也不正确,错误解释了方法的类型转换。
给出的IntegerTypeHandler类相关源码中,最后一个方法的注释有误。
原文:调用
获取指定列值ResultSet.getInt()
应改为:调用
CallableStatement.getInt()
获取指定列值2.5.4 单例模式
第二句话:且需要自行完成【示例】——> 实例
“如果存在无法关联的SQL语句,在MyBatis的初始化节点就会抛出异常.”表述是不准确的.
根据前文意思,作者可能想表达的是不存在和mapper接口中定义的方法关联的sql,这样才会抛出异常..
(..因为开发的实践中大家都知道,有sql而接口中没有定义对应的方法是不会错的,idea会提示一下但是也不算错,eclipse甚至都不提醒的..)
而mapper接口中定义了方法,没有对应的sql关联,是真的会报错.
BlockingCache
BlockingCache是阻塞版本的缓存装饰器,它会保证只有一个线程到数据库中查找指定的key对应的数据。
从图2-44 来看不是“数据库” 应该为“缓存”
勘误:数据库——-> 缓存