如何解决错误java.lang.NumberFormatException:对于输入字符串:“ listM” zh-cn Sprinboot
我正在使用带有JPA数据库的服务器。当我准备任何课程时,它给我一个错误,我找不到问题 这是错误
org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [java.lang.Integer] for value 'listM'; nested exception is java.lang.NumberFormatException: For input string: "listM"
Caused by: java.lang.NumberFormatException: For input string: "listM"
2020-10-19 21:47:20.623 WARN 6596 --- [nio-8080-exec-2] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [java.lang.Integer] for value 'listM'; nested exception is java.lang.NumberFormatException: For input string: "listM"]
这是一堂课
@Entity
@Table(name = "medico")
public class Medico implements Serializable {
@Id
@Basic(optional = false)
@Column(name = "n_licencia")
private Integer nLicencia;
@Basic(optional = false)
@Column(name = "nombre")
private String nombre;
@Basic(optional = false)
@Column(name = "especialidad")
private String especialidad;
@Basic(optional = false)
@Column(name = "consulta")
private int consulta;
@JoinColumn(name = "nombre_hos",referencedColumnName = "nombre_hos")
@ManyToOne(optional = false)
private Hospital hospital;
@OnetoMany(cascade = CascadeType.ALL,mappedBy = "medico")
private List<Medicopaciente> listaPacientes;
@OnetoMany(cascade = CascadeType.ALL,mappedBy = "medico")
private List<Informes> listaInformes;
public Medico() {
this.listaInformes = new ArrayList<>();
this.listaPacientes = new ArrayList<>();
}
public Medico(Integer nLicencia,String nombre,String especialidad,int consulta,Hospital hospital,List<Medicopaciente> listaPacientes,List<Informes> listaInformes) {
this.nLicencia = nLicencia;
this.nombre = nombre;
this.especialidad = especialidad;
this.consulta = consulta;
this.hospital = hospital;
this.listaPacientes = listaPacientes;
this.listaInformes = listaInformes;
}
public Integer getNLicencia() {
return nLicencia;
}
public void setNLicencia(Integer nLicencia) {
this.nLicencia = nLicencia;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getEspecialidad() {
return especialidad;
}
public void setEspecialidad(String especialidad) {
this.especialidad = especialidad;
}
public int getConsulta() {
return consulta;
}
public void setConsulta(int consulta) {
this.consulta = consulta;
}
public Hospital getNombreHos() {
return hospital;
}
public void setNombreHos(Hospital nombreHos) {
this.hospital = nombreHos;
}
public Integer getnLicencia() {
return nLicencia;
}
public void setnLicencia(Integer nLicencia) {
this.nLicencia = nLicencia;
}
public Hospital getHospital() {
return hospital;
}
public void setHospital(Hospital hospital) {
this.hospital = hospital;
}
public List<Medicopaciente> getListaPacientes() {
return listaPacientes;
}
public void setListaPacientes(List<Medicopaciente> listaPacientes) {
this.listaPacientes = listaPacientes;
}
public List<Informes> getListaInformes() {
return listaInformes;
}
public void setListaInformes(List<Informes> listaInformes) {
this.listaInformes = listaInformes;
}
@Override
public int hashCode() {
int hash = 0;
hash += (nLicencia != null ? nLicencia.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
if (!(object instanceof Medico)) {
return false;
}
Medico other = (Medico) object;
return !((this.nLicencia == null && other.nLicencia != null) || (this.nLicencia != null && !this.nLicencia.equals(other.nLicencia)));
}
@Override
public String toString() {
return "Medico{" + "nLicencia=" + nLicencia + ",nombre=" + nombre + ",especialidad=" + especialidad + ",consulta=" + consulta + ",hospital=" + hospital + ",listaPacientes=" + listaPacientes + ",listaInformes=" + listaInformes + '}';
}
}
存储库
@存储库
公共接口MedicoRepository扩展了JpaRepository
服务
@Service("ServiciosInformesI")
@Transactional
public class ServiciosInformes implements ServiciosInformesI {
@Autowired
private InformesRepository repositorioI;
@Override
public List<Informes> buscarTodosI() {
return repositorioI.findAll();
}
@Override
public void saveInformes(Informes informe1) {
repositorioI.saveAndFlush(informe1);
}
@Override
public void eliminarInforme(String url) {
repositorioI.deleteById(url);
}
@Override
public List<Informes> buscarInformesXPaciente(int nSS) {
return repositorioI.buscarInformeXPaciente(nSS);
}
}
和控制器
@Controller
@RequestMapping(path = "/medicos")
public class MedicoJpaController {
@Autowired
private ServiciosMedicoI sMedico;
@PostMapping(path = "/addM")
public @ResponseBody
String aniadirMedico(@RequestParam int nLicencia,@RequestParam String nombre,@RequestParam String especialidad,@RequestParam int consulta) {
Medico medico1 = new Medico();
medico1.setNLicencia(nLicencia);
medico1.setNombre(nombre);
medico1.setEspecialidad(especialidad);
medico1.setConsulta(consulta);
sMedico.saveMedico(medico1);
return "Saved";
}
@GetMapping("/deleteM")
public String eliminarPaciente(@RequestParam("nLicencia") int nLicencia) {
sMedico.eliminarMedico(nLicencia);
return "redirect:/paciente/listM";
}
@GetMapping(path ="/listM",produces = MediaType.APPLICATION_JSON_VALUE)
public String listMedicos() {
String mensaje = "";
List<Medico> listaMedicos = sMedico.buscarTodosM();
for (Medico m : listaMedicos) {
mensaje += m.toString();
}
return mensaje;
}
}
我希望我们能找到错误,因为医院的确列出了错误。但是只有网络上的控制台列表会显示错误,我不明白为什么
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。