0
我在使用Apache Commons DBUtils時根據QueryRunner#insert的方法在其文檔中插入返回ResultSetHandler的泛型類型。我的項目中有一個BR_Author對象。QueryRunner插入方法返回類型
BR_Author.java
import org.springframework.stereotype.Repository;
@Repository
public class BR_Author {
private int id;
private String authorName;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getAuthorName() {
return authorName;
}
public void setAuthorName(String authorName) {
this.authorName = authorName;
}
}
我寫一個簡單的插入語句在我的服務類像
AuthorService#createAuthor
public BR_Author createAuthor(String authorName) throws ApiException {
String sql = "Insert into BR_AUTHOR(authorName) VALUES(?)";
ResultSetHandler<BR_Author> rs = new BeanHandler<BR_Author>(
BR_Author.class);
QueryRunner qr = new QueryRunner(dataSource);
Object[] params = { authorName };
try {
BR_Author author = qr.insert(sql, rs, params);
System.out.println("Br_Author:" + author);
return author;
} catch (SQLException e) {
throw new ApiException(ErrorCode.ERR20001, e.getMessage());
}
}
我試圖返回在createAuthor方法的附加值,但如果我配置ID字段自動遞增對象回報
Br_Author:Br_Author [id=0, authorName=null]
當我檢查分貝我看到它成功添加值。
如果我禁用自動增量並從代碼中設置ID,作者對象爲空。所以我想了解一下,我誤解了QueryRunner#insert方法,或者它有一個錯誤。我已經檢查下面的鏈接。
BTW:爲BR_Author類工作正常所以這意味着不應該有任何映射問題選擇查詢。