道氏理论Mybatisdecimal映射到JavaBigDecimal类型科学计数法
Mybatis decimal映射到Java BigDecimal类型科学计数法
环境:数据库使⽤的mysql,jdbcType为Decimal(32,8), 字段值为 0.00000000,在使⽤mybatis进⾏查询时,java类型使⽤BigDecimal 接收,不幸的是它变为了科学计数法 0E-8,于是我很不解,mybatis的类型处理器难道不对BigDecimal 科学计数法做转换吗?带着疑惑,向下开始探索。
源码分析
阅读过mybatis的源码应该知道,mybatis内部有四⼤组件,四⼤组件创建时有拦截器可以让使⽤⼈员在外部⼲预mybatis核⼼流程。四⼤组件包括StatementHandler、Executor、ParameterHandler、ResultSetHandler,顾名思义,其中⽤于处理JDBC结果集的是ResultSetHandler,那我们就从这⾥作为⼊⼝,先贴⼀下源码阅读笔记,也可以视作是⼤纲,再⼀点⼀点向下看
ResultSetHandler#handleResultSets
DefaultResultSetHandler#handleResultSets()#handleResultSet()#handleRowValues()#handleRowValuesForSimpleResultMap()#getRowValue()#applyPro pertyMappings()#getPropertyMappingValue()
面试学生会自我介绍
TypeHandler#getResult()
校园安全小知识
BaTypeHandler#getResult()#getNullableResult()
BigDecimalTypeHandler#getNullableResult()
ResultSet#getBigDecimal()
DruidPooledResultSet#getBigDecimal()电脑突然死机>淋巴细胞比率偏低是什么原因
ResultSetImpl#getBigDecimal(String columnName)#getBigDecimal(int columnIndex)
胡适后代
入党的程序
培训与开发