2016-03-01 61 views
1

我使用帶有xml映射的mybatis。它發生了,在我的數據庫中,我必須以字符串格式存儲布爾值,如:「Y」/「N」。在我的java代碼中,我有很多行,比如setValue(someBooleanValue ? "Y" : "N");有什麼方法來存儲布爾值,然後所有這些值都轉換爲「Y」:「N」?也許我可以定義一個方法或函數轉換? 有什麼建議嗎? 謝謝當我們保存或更新時,是否可以將值從布爾值轉換爲「Y」/「N」

+1

我想這是不可能的改變你的數據庫模式到更明智的東西? –

+0

您可以編寫自己的映射器來執行此操作 – Stultuske

+0

不允許更改模式( – rastaman

回答

2

您需要爲此使用TypeHandlers

每當MyBatis的設置上一個PreparedStatement的參數或檢索 從結果的值,一個類型處理器用於檢索在適當的Java類型的裝置的值 。

您可以重寫類型處理程序或創建自己的處理 不受支持或非標準類型。爲此,請實現接口 org.apache.ibatis.type.TypeHandler或擴展便利類 org.apache.ibatis.type.BaseTypeHandler,並可選擇將其映射到JDBC 類型。

可以找到一個更完整的例子here

相關問題