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>
目录
相关文章
|
7月前
|
SQL XML Java
mybatis 调用修改SQL时 出现了一个问题 没有修改成功也没有报错
mybatis 调用修改SQL时 出现了一个问题 没有修改成功也没有报错
64 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,结果不能共存的解决
|
6月前
|
SQL 人工智能 Java
mybatis-plus配置sql拦截器实现完整sql打印
_shigen_ 博主分享了如何在MyBatis-Plus中打印完整SQL,包括更新和查询操作。默认日志打印的SQL用?代替参数,但通过自定义`SqlInterceptor`可以显示详细信息。代码示例展示了拦截器如何替换?以显示实际参数,并计算执行时间。配置中添加拦截器以启用此功能。文章提到了分页查询时的限制,以及对AI在编程辅助方面的思考。
919 5
mybatis-plus配置sql拦截器实现完整sql打印
|
SQL Java 数据库
【Mybatis-plus异常】mybatis-plus updateById方法更新不了空字符串和null的解决方法
【Mybatis-plus异常】mybatis-plus updateById方法更新不了空字符串和null的解决方法
720 0
|
Oracle 关系型数据库 Java
Mybatis JdbcType与Oracle、MySql数据类型对应列表
Mybatis JdbcType与Oracle、MySql数据类型对应列表
242 0
|
SQL Java 数据库连接
Java日志的学习03--log4j 配置Spring JdbcTemplate已经MyBatis打印sql
今天接着说说如何在日志中配置SQL打印输出。
772 0
Java日志的学习03--log4j 配置Spring JdbcTemplate已经MyBatis打印sql
|
XML Java 数据库连接
【异常】Mybatis中,SpringMVC中,SpringBoot项目中,出现There is no getter for property named 'xxxxxx'报错的解决方法
Mybatis中,SpringMVC中,SpringBoot项目中,出现There is no getter for property named 'xxxxxx'报错的解决方法
477 0
|
XML Oracle Java
spring boot获取mybatis插入自增id(oracle)
spring boot获取mybatis插入自增id(oracle)
393 0
spring boot获取mybatis插入自增id(oracle)
|
SQL Java 数据库连接
MyBatis 自定义 SQL 拦截器
本文主要是讲通过 MyBaits 的 Interceptor 的拓展点进行对 MyBatis 执行 SQL 之前做一个逻辑拦截实现自定义逻辑的插入执行。 适合场景:1. 比如限制数据库查询最大访问条数;2. 限制登录用户只能访问当前机构数据。
496 0
|
Java 数据库连接 mybatis
springboot 集成mybatis Invalid bound statement (not found)异常
springboot 集成mybatis Invalid bound statement (not found)异常
244 0