MyBatis ORA-01465: 无效的十六进制数字

简介: MyBatis ORA-01465: 无效的十六进制数字

MyBatis 在插入 Oralce 时报:ORA-01465: 无效的十六进制数字

解决方法:

# 插入或更新时
String -> BLOB字段:RAWTOHEX(#{字段名})
String -> DATE:to_date(#{字段名},'yyyy-mm-dd hh24:mi:ss')
# 查询时
BLOB -> String:UTL_RAW.CAST_TO_VARCHAR2(字段名)
DATE -> String:to_char(字段名,'yyyy-mm-dd hh24:mi:ss')
<resultMap id="ReportResultMap" type="com.vipsoft.Report">
    <id column="PACS_NO" property="custodyNo" jdbcType="VARCHAR"/>
    <result column="PATIENT_ID" property="patientId" jdbcType="VARCHAR"/> 
    <result column="INSPECT_CONTENT" property="conclusion" jdbcType="VARCHAR"/> 
</resultMap>
<select id="getCustodyOrder" parameterType="com.vipsoft.Report" resultMap="CustodyResultMap">
    SELECT PATIENT_ID,UTL_RAW.CAST_TO_VARCHAR2(t.INSPECT_CONTENT) as INSPECT_CONTENT
    FROM Report t WHERE t.PACS_NO= #{reportNo}
</select>
<insert id="insert" parameterType="com.vipsoft.Report">
    insert into Report
    <trim prefix="(" suffix=")" suffixOverrides=","> 
        <if test="patientId != null" >PATIENT_ID,</if> 
        <if test="conclusion != null" >INSPECT_CONTENT,</if>
        <if test="createTime != null" >CREATE_TIME,</if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=","> 
        <if test="patientId != null" >#{patientId,jdbcType=VARCHAR},</if> 
        <if test="conclusion != null" >RAWTOHEX(#{conclusion,jdbcType=VARCHAR}),</if> 
        <!--Date 型的 createTime 不需要做 to_date 转换-->
    <if test="createTime != null" >#{createTime,jdbcType=TIMESTAMP},</if>
    </trim>
</insert>
目录
相关文章
|
Oracle 关系型数据库 Java
结合 Mybatis,探讨 Oracle 中 in 与 not in 的陷阱
一、Oracle 中的 in 与 not in 1. 正常情况下的使用 查询语句使用 in 和 not in 的例子 --表:T_USER,USER_ID 有 1,2,3,4,5,6 --查询 userId 中包含1,2,3的数据 --查询结果:1,2,3 SELECT * FROM T_USER T WHERE T.
2970 0
|
Java 数据库连接 开发者
记一次MyBatis的错误
错误信息:java.lang.StackOverflowError 关于这个错误的深度解析,大家可以参考这篇博文,比较详细:https://blog.csdn.net/zc375039901/article/details/79179465\ 先说说这个错误,我是怎么发生的?我的这个错误与上面我推荐的该错误原因深度解析没有多大的关系,大家可以适当了解了解。
1267 0
|
4月前
|
Java 数据库连接 mybatis
成功解决: Invalid bound statement (not found) 在已经使用mybatis的项目里引入mybatis-plus,结果不能共存的解决
这篇文章讨论了在已使用MyBatis的项目中引入MyBatis-Plus后出现的"Invalid bound statement (not found)"错误,并提供了解决方法,主要是通过修改yml配置文件来解决MyBatis和MyBatis-Plus共存时的冲突问题。
成功解决: Invalid bound statement (not found) 在已经使用mybatis的项目里引入mybatis-plus,结果不能共存的解决
|
SQL Java 数据库
【Mybatis-plus异常】mybatis-plus updateById方法更新不了空字符串和null的解决方法
【Mybatis-plus异常】mybatis-plus updateById方法更新不了空字符串和null的解决方法
700 0
|
Oracle 关系型数据库 Java
Mybatis JdbcType与Oracle、MySql数据类型对应列表
Mybatis JdbcType与Oracle、MySql数据类型对应列表
228 0
|
关系型数据库 Java Apache
STRUTS+HIBERNATE+ORACLE分页
主要由:message.jspMessageFormMessageActionPlayer.hbm.xmlstruts-config.xmlMeisaiBean.
805 0
|
Java 数据库连接 mybatis
No MyBatis mapper was found in xxx
版权声明:本文为 testcs_dn(微wx笑) 原创文章,非商用自由转载-保持署名-注明出处,谢谢。 https://blog.csdn.net/testcs_dn/article/details/80923260 ...
2196 0
|
XML Oracle Java
spring boot获取mybatis插入自增id(oracle)
spring boot获取mybatis插入自增id(oracle)
392 0
spring boot获取mybatis插入自增id(oracle)
|
数据库
[Mybatis-Plus] 调用自带方法 报错 Invalid bound statement
在调用Mybatis-Plus(版本:2.1-gamma)的自带方法 selectById 时,报错 Invalid bound statement: PlaceType hasPlaceType = placeTypeMapper.
5667 0