0
我試圖使用的MyBatis從我的Java應用程序操縱Oracle數據庫,但我與Oracle的一個初學者...的Java +甲骨文,ROWID類型的問題
這裏是甲骨文標籤:
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;
最後我在Mapper.xml文件biuld SQL查詢:
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