Hallo Community!
Ich bin gerade dabei einen SQL INSERT Befehl per myBatis durchzuführen, noch erfolglos.
Ich komme einfach nicht auf den Fehler, die Übergabewerte bleiben leer (NULL).
[XML]
... <!-- Der Rest funktioniert schon (SELECT Befehle) -->
<insert id="insertVorgangStatus" parameterType="source.db.Vorgang" useGeneratedKeys="true" keyProperty="id">
INSERT INTO vorgangstatus (auftrag, vorgang, status)
values (#{auftrag}, #{vorgang}, #{status})
</insert>
[/XML]
Es kommt dann auch das richtige SQL-Statement dort steht dann:
nur eben null .. statt meinen Werten.
Ich bin gerade dabei einen SQL INSERT Befehl per myBatis durchzuführen, noch erfolglos.
Ich komme einfach nicht auf den Fehler, die Übergabewerte bleiben leer (NULL).
[XML]
... <!-- Der Rest funktioniert schon (SELECT Befehle) -->
<insert id="insertVorgangStatus" parameterType="source.db.Vorgang" useGeneratedKeys="true" keyProperty="id">
INSERT INTO vorgangstatus (auftrag, vorgang, status)
values (#{auftrag}, #{vorgang}, #{status})
</insert>
[/XML]
Java:
public int setVorgangStatus(String kunde, int status) {
// TODO Vorgangstatus setzen
for(Vorgang vorgang : listVorgaenge){
if(vorgang.getKunde().equals(kunde)){
count ++;
vorgang.setStatus(status);
System.out.println(vorgang.getAuftrag());
System.out.println(vorgang.getVorgang());
System.out.println(vorgang.getStatus());
// In der Konsole stehen dann die richtigen Werte
updateVorgang = sqlSession(Vorgang.INSERTSTATUS,null);
//updateVorgang = sqlSession(Vorgang.INSERTSTATUS,vorgang); auch schon versucht
}
}
return Db.OK;
}
//Hier noch die sqlSession
@SuppressWarnings({ "unused", "finally" })
private Object sqlSession(String statement, Object parameter){
Object sessioner = null;
try {
Reader reader = Resources
.getResourceAsReader(CONFIGPATH);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder()
.build(reader);
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
sessionCounter++;
if(statement.contains("insert")){
sessioner = sqlSession
.insert(statement, parameter);
}else if(statement.contains("select")){
sessioner = sqlSession
.selectList(statement, parameter);
}else if(statement.contains("update")){
sessioner = sqlSession
.update(statement, parameter);
}
} finally {
sqlSession.close();
return sessioner;
}
} catch (FileNotFoundException e) {
e.printStackTrace();
return null;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
Es kommt dann auch das richtige SQL-Statement dort steht dann:
SQL:
"INSERT INTO vorgangstatus (auftrag, vorgang, status)
values (null,null,null);