2017-06-08 7 views
0

注釈を使用して設定されたMyBatis(MyBatis-3.1.1jar)を使用してテーブルにレコードを挿入する際に例外が発生します。MyBatis InsertキーとNo Returnキー:生成されたキーの取得エラーまたはパラメータオブジェクトへの結果の設定

テーブルには2つの列しかありません。

Table EMLSIGNUP(
employeeName varchar(25) 
country varchar(25) 
) 

そして私はレコードを挿入するためにPOJOクラスを使用しています。

public class EmailBean{ 
private String employeeName; 
private String country; 
…getters and setters.. 
} 

そして、このように挿入しています。

@Insert("INSERT INTO EMLSIGNUP(employeeName,COUNTRY,) " + 
     "VALUES (#{employeeName ,jdbcType=VARCHAR}, #{country ,jdbcType=VARCHAR})") 
public void insertEmail(EmailBean emailBean); 

例外が

caused by: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: Error getting generated key or setting result to parameter object. Cause: java.lang.NullPointerException 

それは私がその監査テーブル我々ので、データベース内だけでなく、POJOクラスにと

定義していないいくつかの主キー、探しているようです私たちのアプリケーションへのユーザーログインとしてテーブルにプライマリキーが存在しないようにしてください。私たちは彼の名前と訪問先の国を保存しています。

答えて

0

余分なコンマを削除してください:

@Insert("INSERT INTO EMLSIGNUP(employeeName,COUNTRY) " + 
     "VALUES (#{employeeName ,jdbcType=VARCHAR}, #{country ,jdbcType=VARCHAR})") 
public void insertEmail(EmailBean emailBean); 
0

は、私は同じ問題を持っていたし、私たちは、JDBCドライバの間違ったバージョンを使用していたので、それがでした。

私の場合は、Oracleの場合は12jのojdbcを使用していましたが、データベースのバージョンは11gのままでした。

正しいバージョンのojdbcを使用して問題を修正しました。

希望します。

関連する問題