Я пишу этот код, чтобы просто сохранить новые данные в mySql db, создал класс, репозиторий и основной контроллер, он на самом деле работает для одного класса, но не для этого, оцените некоторые указатели, так как я не совсем понимаю, почемунулевой указатель:
Код: главный контроллер:
@GetMapping(path = "/addExchange")
public @ResponseBody String addNewExchange (@RequestParam String exchange)
{
//check1
System.out.println("creating Exchange constructor");
Exchange e = new Exchange();
//check 2
System.out.println("created exchange constructor, " + exchange);
e.setE_name(exchange);
//check 3
System.out.println("Exhange name is, " + e.getE_name());
//check 4
System.out.println(e);
exchangeRepository.save(e);
return "Saved Exchange";
}
Ошибка вывода из консоли Eclipse: мои проверки показанного ниже объекта показываются из сопоставления:- создание конструктора Exchange - создание конструктора обмена, оранжевый - имя обмена, оранжевый - Exchange [idexchange = 0, e_name = orange]
2018-05-21 15: 59: 43.528 ОШИБКА 5118 --- [nio-8080-exec-4] oaccC [. [. [/]. [DispatcherServlet]: Servlet.service () для сервлета [dispatcherServlet] в контексте с путем [] выдало исключение [Ошибка обработки запроса;вложенное исключение - java.lang.NullPointerException] с коренной причиной
java.lang.NullPointerException: null at com.instantmoney.MoneyServices.MainController.addNewExchange (MainController.java:47) ~ [classes /: na]
Репозиторий Exchange:
public interface ExchangeRepository extends CrudRepository<Exchange, Long> {
}
Класс обмена
@Entity
public class Exchange {
@Id
@GeneratedValue (strategy = GenerationType.AUTO)
private int idexchange;
private String e_name;
public Exchange() {}
// геттерыи сеттеры
Завиток
http://localhost:8080/moneyservice/addExchange?exchange=orange