我刚刚开始我的实习生职位,对我需要做的所有工作感到有点不知所措。我从未使用过数据库,也不知道如何开始。我的主管要求我将 Spring 数据与内存数据库连接,以写入和删除对象(实际上是任何东西)。我正在使用 eclipse 并安装了 Spring(我认为),但我陷入困境,不知道从哪里开始并使其变得简单。我以前从未从事过数据库工作,而且我的主管似乎一直很忙。
我遇到了这个示例,但不知道在哪里编写哪些代码,因为它似乎是为经验丰富的程序员解释的:
http://projects.spring.io/spring-data/#quick-start
以下是指南中的一些代码:
@Entity
public class Employee {
private @Id @GeneratedValue Long id;
private String firstName, lastName, description;
private Employee() {}
public Employee(String firstName, String lastName, String description) {
this.firstName = firstName;
this.lastName = lastName;
this.description = description;
}
}
这是 Spring Data 的首页,是关于入门的。但我不确定这意味着什么,也不知道如何运行代码或要构建哪些类。如果我尝试在 pam 文件中编写他们的代码,它只会显示错误并且实体无法工作...
最佳答案
然后转到start.spring.io并生成您的项目模板。您只需选择 JPA 和 H2 ( H2 - 内存数据库)作为依赖项,设置您的 Group ('com.默认情况下为“example”)和名称(默认情况下为“demo”)。然后单击“生成项目”。将文件保存并解压到计算机上的某个目录后,在 IDE 中打开该项目。
您将找到一个应用程序类 -
DemoApplication
。在它旁边创建您的实体类,例如 -Employee
。您将在数据库中保存和加载其数据。自动生成 getters, setters和 toString在这个类(class)。
@Entity
public class Employee {
@Id
@GeneratedValue
private Long id;
private String firstName, lastName, description;
private Employee() {}
public Employee(String firstName, String lastName, String description) {
this.firstName = firstName;
this.lastName = lastName;
this.description = description;
}
// Autogenerate here getters, setters and toString()
}
- 然后创建一个“Repository”类来提供对数据库的访问:
public interface EmployeeRepository extends JpaRepository<Employee, Long> {}
- 在您的项目中找到
DemoApplicationTests
类,对其进行编辑,然后运行:
@RunWith(SpringRunner.class)
@SpringBootTest
public class DemoApplicationTests {
// Injecting your repository
@Autoware
private EmployeeRepository repo;
@Test
public void dbTest() {
// Create two employees
Employee gandalf = new Employee("Gandalf", "Grey", "Wizard");
Employee frodo = new Employee("Frodo", "Baggins", "Hobbit");
// Save them to DB
repo.save(Arrays.asList(gandalf, frodo));
// Read them from DB
List<Employee> employees = repo.findAll();
// Print them
employees.forEach(System.out::println);
}
}
仅此而已!
更多信息:
关于java - Spring Boot/Spring Data/Hibernate 入门,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45164389/