我正在使用MyBatis向MySQL DB编写一个类实例
// I have no control over how this java class is laid out -.-
class Hello {
boolean isFriendly
}我的MyBatis映射器如下所示
<insert id="doHello" parameterType="Hello">
insert into hello_table (
is_friendly --this is a varchar(1) btw
)
values (
#{isFriendly}
)
</insert>问题是它将值作为0或1插入到数据库中,但我需要将其作为'N‘或'Y’,并且我没有选择修改java
我正在努力使我的代码尽可能少,理想情况下,我希望将内容添加到Mybatis Mapper中
我试过这样的东西
#{isFriendly,jdbcType=Boolean}但它并没有起作用
发布于 2013-09-29 09:01:11
修改insert语句
insert into hello_table (
is_friendly
)values (${isFriendly=="0"?"'N'":"'Y'"})发布于 2013-10-07 19:00:30
MyBatis typeHandler是一种合适的方式。
您可以实现类型处理程序,然后在任何sql语句中使用它:
#{isFriendly, typeHandler=YesNoBooleanTypeHandler}
有关详情,请参阅MyBatis Java Boolean to Sql enum
https://stackoverflow.com/questions/19051387
复制相似问题