oracle数据插入类型对应java

这是数据库类型

 private int msg_id; //主键
    private long party_id; //用户id
    private int event_trigid;
    private String area_Code; //地区编号
    private String send_Nbr; //发送短信号码
    private int nbr_Spec;
    private String is_AppRoved;
    private String msg_content; //短信内容
    private Date star_Date; //开始时间
    private Date expire_Date; //失效时间
    private String deal_flag; //处理标记

这是相对应的java类型

sql:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >

<insert id="insertSendVerCode" parameterType="com.weixin.common.model.verCode.SendCodeModel">
  <selectKey resultType="java.lang.Long" keyProperty="msg_id" order="BEFORE">
     Select seq_msg_to_send From Dual
  </selectKey>
    Insert Into MSG_BUFFER
        (MSG_ID, PARTY_ID, MSG_EVENT_TRIGID, AREA_CODE, SEND_NBR, NBR_SPEC, IS_APPROVED, MSG_CONTENT, START_DT, EXPIRE_DT,DEAL_FLAG, STAFF_ID)
    Values
        (#{msg_ia},#{party_id},#{event_trigid},#{area_Code},#{send_Nbr},#{nbr_Spec},#{is_AppRoved},#{msg_content},#{star_Date},#{expire_Date},#{deal_flag})
 </insert>

然而就报错了,

18:55:08.810 INFO org.springframework.beans.factory.xml.XmlBeanDefinitionReader 315 loadBeanDefinitions - Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml]
18:55:09.050 INFO org.springframework.jdbc.support.SQLErrorCodesFactory 126 - SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]

3个回答

数据库中的字段名:MSG_EVENT_TRIGID
你定义的字段名:event_trigid
按照你的字段名到数据库里查找就会出问题。
还有其他字段也是

qq_21741673
洗洗脚泡泡澡 并不是,别名加上还是报一样的错,我把insert整个sql删了还是报一样的错。
接近 4 年之前 回复

问题已解决,
1、主键序列查询语句没加nextVal
2、event_trigid和partyid长度过长,int无法接收。这才导致语句在plsql中可以执行,mybatis无法执行。

但,只要是mapper.xml对应的mapper路径正确,哪怕这个xml里面的sql不写也是会报相同的错误。

number使用long就可以了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问