我已经在表名test_schema中创建了一个表人。我已经从mysql工作台中的DATABASE> CONNECT TO DATABASE连接数据库。然后,我尝试与之建立联系,但这似乎不起作用。 顺便说一句,我已经从github克隆了它,并试图在这里运行我的数据库。
我试图查看状态,但是显示正在运行,但是数据没有从数据库中获取。
application.yml
datasource:
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/persons
username: root
password: users
jpa:
hibernate.ddl-auto: null
generate-ddl: true
show-sql: true```
UsersRepository.java
package com.techprimers.db.repository;
import com.techprimers.db.model.Users;
import org.springframework.data.jpa.repository.JpaRepository;
public interface UsersRepository extends JpaRepository<Users, Integer> {
}
Users.java
package com.techprimers.db.model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Users {
@Id
@GeneratedValue
@Column(name = "id")
private Integer id;
@Column(name = "token")
private String token;
@Column(name = "name")
private String name;
@Column(name = "post")
private Integer post;
public Users() {
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getPost() {
return post;
}
public void setPost(Integer post) {
this.post = post;
}
}
UsersResources.java
package com.techprimers.db.resource;
import com.techprimers.db.model.Users;
import com.techprimers.db.repository.UsersRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping(value = "/rest/users")
public class UsersResource {
@Autowired
UsersRepository usersRepository;
@GetMapping(value = "/all")
public List<Users> getAll() {
return usersRepository.findAll();
}
}
SpringBootMysqldbApplication.java
package com.techprimers.db;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
@EnableJpaRepositories(basePackages = "com.techprimers.db.repository")
@SpringBootApplication
public class SpringBootMysqldbApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootMysqldbApplication.class, args);
}
}
结果应该是表格元素,但显示的是Whitelabel错误页面。我不知道我在做什么错,因为没什么可做的。我只是根据自己的需要修改了代码,但我想我以某种方式弄乱了数据库连接,或者我做错了数据库连接。 预先感谢。
答案 0 :(得分:0)
不幸的是,我还不能发表评论,但是我认为您的数据库默认是从MySQL 5.7.5开始强制执行ssl,但是默认情况下,客户端没有强制执行此操作。检查此URL,请jdbc:mysql:// localhost:3306 / persons?useSSL = false
如Avi所述,如果您的数据库是test_schema,则将其写在url中而不是人员中
请在问题中直接提供错误和例外情况
答案 1 :(得分:0)
我已经注意到您说“表名”是“ PERSONS”,但是在url中您提到的是数据库名
jdbc:mysql:// $ {DB_SERVER_NAME}:$ {DB_PORT} / $ {DB_DATABASE}:currentSchema = $ {DB_SCHEMA};
是jdbc:mysql://localhost:3306/<db-name>
检查一次