Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否可以将布尔值转换为“值”;Y";/&引用;";当我们保存或更新_Java_Mapping_Mybatis_Spring Mybatis - Fatal编程技术网

Java 是否可以将布尔值转换为“值”;Y";/&引用;";当我们保存或更新

Java 是否可以将布尔值转换为“值”;Y";/&引用;";当我们保存或更新,java,mapping,mybatis,spring-mybatis,Java,Mapping,Mybatis,Spring Mybatis,我将mybatis与xml映射一起使用。碰巧,在我的数据库中,我必须以字符串格式存储布尔值,如:“Y”/“N”。在我的java代码中有很多行,比如setValue(someBooleanValue?“Y”:“N”)是否有办法存储布尔值,然后将所有这些值转换为“Y”:“N”?也许我可以定义一个转换的方法或函数? 有什么想法吗? 谢谢您需要为此使用 每当MyBatis在PreparedStatement上设置参数或检索 一个来自ResultSet的值,TypeHandler用于检索该值 以适合Jav

我将mybatis与xml映射一起使用。碰巧,在我的数据库中,我必须以字符串格式存储布尔值,如:“Y”/“N”。在我的java代码中有很多行,比如
setValue(someBooleanValue?“Y”:“N”)是否有办法存储布尔值,然后将所有这些值转换为“Y”:“N”?也许我可以定义一个转换的方法或函数?
有什么想法吗?
谢谢

您需要为此使用

每当MyBatis在PreparedStatement上设置参数或检索 一个来自ResultSet的值,TypeHandler用于检索该值 以适合Java类型的方式

您可以重写类型处理程序或创建自己的处理程序 不支持或非标准类型。为此,请实现接口 org.apache.ibatis.type.TypeHandler或扩展便利类 org.apache.ibatis.type.BaseTypeHandler,并可以选择将其映射到JDBC 类型


可以找到一个更完整的示例。

我想将数据库模式更改为更合理的模式是不可能的?您可以编写自己的映射程序来实现这一点。不允许更改模式(您的数据库不支持语句中的if/etc吗?因此您可以简单地将您的布尔方式映射到insert语句中的Y/N。