Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.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+Oracle,ROWID类型问题_Java_Sql_Oracle_Mybatis_Rowid - Fatal编程技术网

Java+Oracle,ROWID类型问题

Java+Oracle,ROWID类型问题,java,sql,oracle,mybatis,rowid,Java,Sql,Oracle,Mybatis,Rowid,我试图使用MyBatis从Java应用程序中操作Oracle DB,但我是Oracle的完全初学者 这是Oracle选项卡: CREATE TABLE TOTAL.T_OBSERVATION ( IDOBSERVATION NUMBER NOT NULL, IDENGIN NUMBER, ID_MESSAGEBALISE NUMBER, DATEOBSERVATION

我试图使用MyBatis从Java应用程序中操作Oracle DB,但我是Oracle的完全初学者

这是Oracle选项卡:

CREATE TABLE TOTAL.T_OBSERVATION
(
  IDOBSERVATION            NUMBER               NOT NULL,
  IDENGIN                  NUMBER,
  ID_MESSAGEBALISE         NUMBER,
  DATEOBSERVATION          DATE,
  X                        FLOAT(126),
  Y                        FLOAT(126),
  ECARTHORAIRE             FLOAT(126),
  ECARTTRAJECT             FLOAT(126),
  TYPE_OBSERVATION         NUMBER(3),
  FIABILITE                FLOAT(126),
  VITESSE                  FLOAT(126),
  CAP                      FLOAT(126),
  NOTRAINSUIVI             VARCHAR2(10 BYTE),
  NOTRAINCOMP              VARCHAR2(10 BYTE),
  ETATALIM                 NUMBER,
  USER_INTERRO             NUMBER,
  STATUT_TRAIN             NUMBER(1),
  STATUT_ECART_HORAIRE     NUMBER(1),
  STATUT_ECART_ITINERAIRE  NUMBER(1),
  STATUT_RECURRENCE        NUMBER(1),
  STATUT_DEPLACEMENT       NUMBER(1),
  STATUT_FIABILITE_NULLE   NUMBER(1),
  STATUT_SUSPENSION        NUMBER(1)
)
然后我创建一个Java对象,该对象的属性对应于表的列:

public class Msg {
 public int IdObservation;
 public int IdEngin;
 public int IdMsgBalise;
 public String DateObs;
 public float X;
 public float Y;
 public float EcartHoraire;
 public float EcartTrajet;
 public int TypeObs;
 public float Fiabilite;
 public float Vitesse;
 public float Cap;
 public String NoTrainSuivi;
 public String NoTrainComp;
 public int EtatAlim;
 public int UserInterro;
 public int StatutTrain;
 public int StatutEcartHoraire;
 public int StatutEcartItineraire;
 public int StatutRecurrence;
 public int StatutDeplacement;
 public int StatutFiabiliteNulle;
 public int StatutSuspension;
最后,我将SQL查询保存在Mapper.xml文件中:

INSERT INTO T_OBSERVATION
    VALUES(SEQ_OBSERV.nextval, 
            #{IdEngin},
            #{IdMsgBalise},
            TO_DATE('#{DateObs}','dd/mm/yyyy hh24:mi:ss'),
            #{X},
            #{Y},
            #{EcartHoraire},
            #{EcartTrajet},
            #{TypeObs},
            #{Fiabilite},
            #{Vitesse},
            #{Cap},
            #{NoTrainSuivi},
            #{NoTrainComp},
            #{EtatAlim},
            #{UserInterro},
            #{StatutTrain},
            #{StatutEcartHoraire},
            #{StatutEcartItineraire},
            #{StatutRecurrence},
            #{StatutDeplacement},
            #{StatutFiabiliteNulle},
            #{StatutSuspension})
但问题是,查询在某个地方返回了一个ROWID对象,我不知道它是什么以及它来自哪里

java.sql.SQLSyntaxErrorException: ORA-00932: inconsistent datatypes: expected NUMBER got ROWID
你能用吗

INSERT INTO TOTAL.T_OBSERVATION 

 instead of 
INSERT INTO T_OBSERVATION
在Mapper.xml中

请参考下面的链接了解类似问题