我的 MySQL 数据库中有一个表,我试图在我的 spring boot Controller 类中使用 Hibernate 访问它。 MySQL 数据库中的表名是AdminTable
。 (我的数据库中还有另一个表)。
我没有从我的数据库中取回数据。我做错了什么?
主 Controller .java
@RestController
@CrossOrigin
public class MainController {
@Autowired
@Qualifier(value = "adminService")
private AdminService adminService;
@RequestMapping(method = RequestMethod.POST, value = "/admin_login")
public String loginAdmin(@RequestBody LoginInformation loginInformation) {
System.out.println(loginInformation.getUsername() + " " + loginInformation.getPassword());
String adminFound = "false";
Iterable<Admin> admins = adminService.findAll();
for (Admin admin : admins) {
if (admin.getUsername().equals(loginInformation.getUsername()) &&
admin.getPassword().equals(loginInformation.getPassword())) {
adminFound = "true";
break;
}
}
return adminFound;
}
}
application.properties
spring.jpa.hibernate.ddl-auto=create
spring.datasource.url=jdbc:mysql://localhost:3306/payment_system
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=myPass
AdminService.java
public interface AdminService extends CrudRepository<Admin, Long> {}
findAll
方法没有返回任何数据。请指教。
最佳答案
您必须将 hibernate 属性配置到 application.properties 文件中。你可以按照下面的代码:-
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/concretepage
spring.datasource.username=root
spring.datasource.password=
spring.datasource.tomcat.max-wait=20000
spring.datasource.tomcat.max-active=50
spring.datasource.tomcat.max-idle=20
spring.datasource.tomcat.min-idle=15
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQLDialect
spring.jpa.properties.hibernate.id.new_generator_mappings = false
spring.jpa.properties.hibernate.format_sql = true
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
关于java - Hibernate 不使用 spring boot 从 mysql 表返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44475111/