this.getSqlMapClient().insert("check.insertRiskPeopleTemp", dto);结果报NullpointExcepton错,找了下资料,是因为insert时返回结果转化成int时报错。这个表是没有主键的,请问该如何设置?
谢谢。

解决方案 »

  1.   

    insertRiskPeopleTemp这个在配置文件中定义了吗?
      

  2.   

    当然定义了,否则会报insertRiskPeopleTemp没找到的错,而不是nullpointexception.
    一般我们用getSqlMapClientTemplate().insert
    但是如果要用到批量,那么就要用getSqlMapClient().insert()
      

  3.   

    [align=left]  public void insertRiskPeopleTempBatch(final List list) throws TransException {
    try{
    getSqlMapClientTemplate().execute(new SqlMapClientCallback() {
    public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException {
    executor.startBatch();
    for (int i = 0; i < list.size(); i++) {
    RiskPeopleDTO dto = (RiskPeopleDTO) list.get(i);
    executor.insert("check.insertRiskPeopleTemp", dto);
    }
    executor.executeBatch();
    return null;
    }
    });
    }catch(Exception e){
    throw new TransException(e);
    }
    } [/align]