【发布时间】:2017-10-28 09:29:25
【问题描述】:
我尝试将数据插入数据库,但出现内部服务器错误java.lang.NullPointerException
我创建了自己的 Spring MVC,可能它与其他的不同
我认为错误的发生是因为模型没有从正文中获取数据,因此在调用保存方法时发生空指针异常错误
这里是代码
控制器
@RestController
public class SellerController {
@Autowired
SellerService service;
@RequestMapping(method = RequestMethod.POST, path = "sellers/register",
consumes = "application/json", produces = "application/json")
public ResponsePost postSellerRegister(@RequestBody SellerPost model){
ResponsePost response = new ResponsePost();
model.getSlrNim();
model.getStdId();
model.getSlrName();
model.getSlrPass();
model.getSlrEmail();
model.getSlrContact();
model.getSlrGender();
try{
service.connectToDatabase();
Result<Integer> result = service.save(model);
response.setStatus(result.getStatus());
response.setId(result.getModel());
service.closeConnection();
}catch(SQLException e) {
response.setStatus(StateCons.SQL_EXCEPTION);
}
return response;
}
}
服务
@Service
public class SellerService extends BaseService implements BaseDao<SellerPost, SellerGet, SellerGet> {
public SellerService(){
}
@Override
public Result<Integer> save(SellerPost model){
Result<Integer> result = new Result();
if(getDatabase().getResult() == StateCons.SUCCESS){
try{
String sql = "INSERT INTO seller (slr_nim, slr_name, std_id, slr_gender, slr_email, slr_contact, slr_pass) VALUES ('"+ model.getSlrNim() +"', '"+ model.getSlrName() + "', '"+ model.getStdId() +"', "+ model.getSlrGender() +", '"+ model.getSlrEmail() +"', '" + model.getSlrContact() +"', '"+ model.getSlrPass() +"')";
setResultSet(getDatabase().executeQuery(sql));
if(getResultSet().next()) {
result.setModel(new Integer(getResultSet().getInt("slr_nim")));
result.setStatus(StateCons.SUCCESS);
}else{
result.setStatus(StateCons.FAILED);
}
getResultSet().close();
}catch(SQLException e) {
result.setStatus(StateCons.NO_RECORD);
}
}else{
result.setStatus(StateCons.FAILED);
}
return result;
}
}
DAO
package id.ceban.dao;
import java.util.List;
import id.ceban.model.Result;
public interface BaseDao<P, G, GD> {
public Result<Integer> save(P model);
public Result<Boolean> delete(int modelId);
public Result<Boolean> update(P model, int modelId);
public Result<GD> get(int modelId);
public Result<List<G> > getList(String search_query, String field, String sort, int page, int limit);
public Result<Integer> count(int modelId);
}
错误
【问题讨论】:
-
也许你应该添加错误信息。
-
@ChristianFrommeyer,即使他一直在显示错误,我很确定这个问题最终会要求其他人调试他的代码,显然他并没有表现出他的一些努力。
标签: java spring spring-mvc