微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法将 Springboot 项目连接到 Mysql 数据库

如何解决无法将 Springboot 项目连接到 Mysql 数据库

当我在 Workspace-Spring-Tool-Suite 中运行 SpringBoot 应用程序时,MysqL Workbench 会生成所有表,但是 Postman 中的 Get 请求(http://localhost:3308/api/v1/employees) 除了错误之外不返回任何内容错误:getaddrinfo ENOTFOUND http)

  • MysqL Xampp 在端口:3308 上运行

UPDATE 现在连接正在工作并在 MysqL 工作台上生成表,但本地主机的问题仍然存在它返回 ERR_INVALID_HTTP_RESPONSE 最糟糕的是运行 SpringBoot 应用程序时出现的新问题:ERROR

说明: Web 服务器无法启动。端口 3308 已被使用。 行动: 识别并停止侦听端口 3308 的进程或配置此应用程序以侦听另一个端口。

注意:我没有将端口 3308 用于任何其他服务。

application.properties

spring.datasource.url=jdbc:MysqL://localhost:3308/employee_management_system? 
 useSSL=false
spring.datasource.username=root
spring.datasource.password=
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MysqL5InnoDBDialect
spring.jpa.hibernate.ddl-auto = update
server.port=3308

控制器类

package net.javaguides.springboot.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import net.javaguides.springboot.model.Employee;
import net.javaguides.springboot.repository.EmployeeRepository;

@CrossOrigin(origins = "http://localhost:3308")
@RestController
@RequestMapping("/api/v1")
public class EmployeeController {

@Autowired
private EmployeeRepository employeeRepository;

// get all employees
@GetMapping("/employees")
public List<Employee> getAllEmployees(){
    return employeeRepository.findAll();
}       }

运行 Springboot 应用程序 Running Spring-Boot application

员工类

package net.javaguides.springboot.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "employees")
public class Employee {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;

@Column(name = "first_name")
private String firstName;

@Column(name = "last_name")
private String lastName;

@Column(name = "email_id")
private String emailId;

public Employee() {
    
}

public Employee(String firstName,String lastName,String emailId) {
    super();
    this.firstName = firstName;
    this.lastName = lastName;
    this.emailId = emailId;
}
public long getId() {
    return id;
}
public void setId(long id) {
    this.id = id;
}
public String getFirstName() {
    return firstName;
}
public void setFirstName(String firstName) {
    this.firstName = firstName;
}
public String getLastName() {
    return lastName;
}
public void setLastName(String lastName) {
    this.lastName = lastName;
}
public String getEmailId() {
    return emailId;
}
public void setEmailId(String emailId) {
    this.emailId = emailId;
}}

员工存储库类

package net.javaguides.springboot.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import net.javaguides.springboot.model.Employee;

@Repository
public interface EmployeeRepository extends JpaRepository<Employee,Long>{ }

解决方法

直接替换

@CrossOrigin(origins = "http://localhost:3308")

@CrossOrigin(origins = "*")

并为您的应用程序使用不同的端口,而不是用于访问您的数据库的相同端口

server.port=8081

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。