如何将Spring Boot与MySQL数据库和JPA一起使用?

我想用MySQL和JPA设置Spring Boot" title="Spring Boot">Spring Boot。为此,我创建: Person

package domain;

import javax.persistence.*;

@Entity

@Table(name = "person")

public class Person {

@Id

@GeneratedValue

private Long id;

@Column(nullable = false)

private String firstName;

// setters and getters

}

PersonRepository

package repository;

import domain.Person;

import org.springframework.data.domain.Page;

import org.springframework.data.domain.Pageable;

import org.springframework.data.repository.CrudRepository;

public interface PersonRepository extends CrudRepository<Person, Long> {

Page<Person> findAll(Pageable pageable);

}

PersonController

package controller;

import domain.Person;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.ResponseBody;

import repository.PersonRepository;

@Controller

public class PersonController {

@Autowired

private PersonRepository personRepository;

@RequestMapping("/")

@ResponseBody

public String test() {

Person person = new Person();

person.setFirstName("First");

person.setLastName("Test");

personRepository.save(person);

return "hello";

}

}

开始课程示例:

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication

public class Example {

public static void main(String[] args) throws Exception {

SpringApplication.run(Example.class, args);

}

}

对于数据库配置,我创建了application.properties

spring.jpa.hibernate.ddl-auto=create-drop

spring.jpa.properties.hibernate.globally_quoted_identifiers=true

spring.datasource.url=jdbc:mysql://localhost/test_spring_boot

spring.datasource.username=root

spring.datasource.password=root

spring.datasource.driverClassName=com.mysql.jdbc.Driver

所以我有项目结构:

但是结果是我有例外:

org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [Example]; nested exception is java.io.FileNotFoundException: class path resource [org/springframework/security/config/annotation/authentication/configurers/GlobalAuthenticationConfigurerAdapter.class] cannot be opened because it does not exist

回答:

我像你一样创建了一个项目。结构看起来像这样

这些类只是复制自你的类。

我将application.properties更改为:

spring.datasource.url=jdbc:mysql://localhost/testproject

spring.datasource.username=root

spring.datasource.password=root

spring.datasource.driverClassName=com.mysql.jdbc.Driver

spring.jpa.hibernate.ddl-auto=update

但我认为你的问题出在你的pom.xml中:

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>1.4.1.RELEASE</version>

</parent>

<artifactId>spring-boot-sample-jpa</artifactId>

<name>Spring Boot JPA Sample</name>

<description>Spring Boot JPA Sample</description>

<dependencies>

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-jpa</artifactId>

</dependency>

</dependencies>

<build>

<plugins>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

</plugin>

</plugins>

</build>

检查这些文件是否有差异。希望这可以帮助

以上是 如何将Spring Boot与MySQL数据库和JPA一起使用? 的全部内容, 来源链接: utcz.com/qa/411605.html

回到顶部