2016-03-01 58 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

相关问题