Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate,repository.save-java.lang.NullPointerException:null-对象存在时_Java_Mysql_Spring_Hibernate - Fatal编程技术网

Hibernate,repository.save-java.lang.NullPointerException:null-对象存在时

Hibernate,repository.save-java.lang.NullPointerException:null-对象存在时,java,mysql,spring,hibernate,Java,Mysql,Spring,Hibernate,我写这段代码只是为了将新数据保存到mySql db,创建了类、存储库和主控制器,它实际上适用于一个类,但不适用于这个类,请欣赏一些指针,因为我不太明白为什么使用空指针: 代码: 主控制器: Eclipse控制台的输出错误: 下面的我的检查显示对象是从映射中拾取的: -创建Exchange构造函数 -已创建exchange构造函数,橙色 -呼气名称为,橙色 -交换[idexchange=0,e_name=orange] 2018-05-21 15:59:43.528错误5118---[nio-80

我写这段代码只是为了将新数据保存到mySql db,创建了类、存储库和主控制器,它实际上适用于一个类,但不适用于这个类,请欣赏一些指针,因为我不太明白为什么使用空指针:

代码: 主控制器:

Eclipse控制台的输出错误: 下面的我的检查显示对象是从映射中拾取的: -创建Exchange构造函数 -已创建exchange构造函数,橙色 -呼气名称为,橙色 -交换[idexchange=0,e_name=orange]

2018-05-21 15:59:43.528错误5118---[nio-8080-exec-4]o.a.c.c.c.[/].[dispatcherServlet]:路径为[]的上下文中Servlet[dispatcherServlet]的Servlet.service()引发异常[请求处理失败;嵌套异常为java.lang.NullPointerException],其根本原因是

java.lang.NullPointerException:null 在com.instantmoney.MoneyServices.MainController.addNewExchange(MainController.java:47)~[classes/:na]

Exchange存储库:

//接球手和接球手

卷曲

试试这个

@Controller
public class ExchangeController {    

   @RequestMapping(path = "/addExchange", method = RequestMethod.POST) 
   public @ResponseBody String addNewExchange (@RequestParam String exchange)
   {
    if (exchange != null ) {
       Exchange e = new Exchange(); 
       e.setE_name(exchange);
       exchangeRepository.save(e); 
       return "Saved Exchange";
    } else {
       return new BadRequestException("exchange name can not be null!");
    }
   }

   @Autowired
   public ExchangeController(ExchangeRepository exchangeRepository) {
       this.exchangeRepository = exchangeRepository;
   }

   private ExchangeRepository exchangeRepository;
}

我认为
exchangeRepository
为空,您可以添加
MainController
代码吗?因为我们看不到您的原始行号,请在您的code@GetMapping(path=“/addExchange”)public@ResponseBody String addNewExchange(@RequestParam String exchange){//check1 System.out.println(“创建Exchange构造函数”);Exchange e=new Exchange();//check 2 System.out.println(“创建的Exchange构造函数”+Exchange);e.setE_name(Exchange);//check 3 System.out.println(“Exchange name是”+e.getE_name());//check 4 System.out.println(e);exchangerepositionary.save(e);返回“已保存的Exchange”;}请在Repository类中使用@Repository annotation,然后将其自动连接到控制器中……应该可以使用了。@Eihab您可以编辑您的帖子来添加代码,请不要在注释中添加代码……我还利用了您的帮助Devratna,添加!=null很有用,我添加了这段代码以避免出现null异常。谢谢您的帮助
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
@Controller
public class ExchangeController {    

   @RequestMapping(path = "/addExchange", method = RequestMethod.POST) 
   public @ResponseBody String addNewExchange (@RequestParam String exchange)
   {
    if (exchange != null ) {
       Exchange e = new Exchange(); 
       e.setE_name(exchange);
       exchangeRepository.save(e); 
       return "Saved Exchange";
    } else {
       return new BadRequestException("exchange name can not be null!");
    }
   }

   @Autowired
   public ExchangeController(ExchangeRepository exchangeRepository) {
       this.exchangeRepository = exchangeRepository;
   }

   private ExchangeRepository exchangeRepository;
}