MyBatis typeHandler 源碼分析
typeHandler 的作用
無論是 MyBatis 在預處理語句中設置一個參數,還是從結果集中取出一個值時,類型處理器被用來將獲取的值以合適的方式轉換成 Java 類型。
typeHandler 的源碼分析
TypeHandler 接口主要有四個方法,如下:
public void setParameter(PreparedStatement ps, int i, String parameter, JdbcType jdbcType)
public String getResult(ResultSet rs,String columnName)
public String getResult(ResultSet rs,int columnIndex)
public String getResult(CallableStatement cs,int columnIndex)
方法說明:
setParameter
方法是在將參數傳入數據庫之前對數據類型做處理。
getResult
方法則在數據庫返回結果時,將結果信息轉換為相應的 Java 類型。區別在于前兩個 getResult
方法供普通SQL使用,一個根據字段名,一個根據字段下標來獲取數據,最后一個getResult
方法供存儲過程使用,根據字段下標獲取數據。