解決mybatis使用列舉的轉換

2021-08-27 22:02:23 字數 1660 閱讀 3504

解決mybatis使用列舉的轉換

蕃薯耀 2023年9月6日 16:21:28 星期日

一、第一種解決方法就是使用自帶的typehandler

org.apache.ibatis.type.enumordinaltypehandler

結果返回的例子:

更新資料的例子:

update h_users

set

real_name = #,

genders = #,

address = #,

nickname = #

where user_id = #

二、第二種是使用自定義的轉換器

1、列舉

public enum genderenum 

}, female

}, other

}; public int getkey()

public abstract string getvalue();

}

2、自定義的列舉處理轉換器

public class genderhandler extends basetypehandler 

@override

public genderenum getnullableresult(resultset rs, string columnname) throws sqlexception else

} @override

public genderenum getnullableresult(resultset rs, int columnindex) throws sqlexception else

} @override

public genderenum getnullableresult(callablestatement cs, int columnindex)

throws sqlexception else

} @override

public void setnonnullparameter(preparedstatement ps, int i, genderenum parameter,

jdbctype arg3) throws sqlexception

/**

* 列舉型別轉換,由於建構函式獲取了列舉的子類enums,讓遍歷更加高效快捷

* @param code 資料庫中儲存的自定義code屬性

* @return code對應的列舉類

*/

private genderenum locategender(int code)

} throw new illegalargumentexception("未知的列舉型別:" + code + ",請核對" + type.get******name());

} }

3、類似於第一種,需要在處理列舉型別上加上

typehandler=com

.***

.***

.***

.genderhandler

蕃薯耀 2023年9月6日 16:21:28 星期日

解決mybatis使用列舉的轉換

解決mybatis使用列舉的轉換 蕃薯耀 2015年9月6日 16 21 28 星期日 一 第一種解決方法就是使用自帶的typehandler org.apache.ibatis.type.enumordinaltypehandler 結果返回的例子 更新資料的例子 update h users s...

mybatis之類似級聯功能的使用( 轉)

在spring mybatis開發中,經常會遇到需要子列表查詢的時候,hibernate中對於級聯查詢應用得比較多,它本身自帶的一對多,多對一等對映可以完整的實現級聯。在mybatis中,沒有級聯的概念,但是可以利用集合來實現類似的功能。下面就來看下具體的用法。這裡以product產品為例。首先簡歷...

列舉的使用

什麼是 列舉?需要在一定的範圍內取值,這個值只能是這個範圍中的任意乙個。舉例 交通訊號燈,有三種顏色,但是每次只能亮三種顏色裡面的任意乙個。列舉關鍵字 enum enum color3列舉的構造方法也是私有的 列舉的使用方法示例 package test04 public class testenu...