1、自定義一個轉換類型,獲取數據庫數據並輸出數據時,把數據庫的Varchar類型轉為java的String[]類型
前提(1)
定義一個類VarcharToStringsHandler繼承BaseTypeHandler<String[]>,且類上方加上
@MappedTypes({String[].class})和@MappedJdbcTypes({JdbcType.VARCHAR})
,且VarcharToStringsHandler類中getStringArray(String value)定義分割的字符,如”-“、","
前提(2)
mybatis-config.xml中注冊VarcharToStringsHandler類:
<typeHandlers>
<typeHandler handler="com.handler.VarcharToStringsHandler" />
</typeHandlers>
使用:
數據庫中film表的title字段值為”aaa-bbb-ccc“之類的數據,取出后轉為java的String[]數據
實體類Film如下:
FillmMapper.xml中:
<result column="title" jdbcType="VARCHAR" javaType="[Ljava.lang.String;" property="title" />
指定javaType="[Ljava.lang.String;"即String[]數組,則Mybatis就會到已經注冊了的TypeHandler中尋找到能處理jdbcType對應javaType的類型轉換的TypeHandler類(此處為VarcharToStringsHandler類)來進行處理
