2017-07-18 181 views
0

我刚刚开始实习生职位,对所有我需要做的工作感到有点不知所措。我从来没有使用过数据库,也不知道如何开始。我的主管要求我将Spring数据与内存数据库连接起来,写入和删除对象(真的是任何东西)。我使用eclipse并安装了Spring(我认为),但是我坚持不了,并且不知道从哪里开始并且简化。我以前从未在数据库工作过,而且我的主管似乎一直很忙。SpringBoot/Spring Data入门/休眠

我遇到了这个例子,但是不知道在哪里写哪个代码,因为它似乎是经验丰富的程序员来解释:

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文件中编写它们的代码,它只是显示错误,而实体不起作用...

+0

你是什么意思,“我想我已经安装了春天”?你有没有添加依赖到你的pom或复制罐子?如果是这样,你应该查看一些很好的春季教程。 – Christian

+0

我在eclipse市场上发现了spring,并安装了扩展。我做了一个可以工作的项目,但不知道如何访问数据库,以及我所做的项目,我只是阅读和复制,试图了解零碎。 – Asker

+0

不要忘记接受/ upvote帮助你的答案... – Cepr0

回答

1
  1. 首先,设置Maven在Eclipse(你可以找到说明在谷歌,here为例)。

  2. 然后转到start.spring.io并生成您的项目模板。你需要选择只是JPAH2H2 - 在内存数据库)的相关性,将您集团(“com。示例”默认)和名称(默认为“示范”)。然后点击'生成项目'。将文件保存并解压缩到计算机上的某个目录后,在IDE中打开该项目。

  3. 你会发现一个应用程序类 - DemoApplication。在它旁边创建您的实体类,例如 - Employee。您将保存并从数据库加载其数据。在此类中自动生成getters, setterstoString

@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() 
} 
  • 然后创建一个 '存储库' 类到数据库提供的访问:
  • 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); 
        } 
    } 
    

    就这样!

    更多信息

    Spring Data JPA Project

    Spring Data JPA Reference

    Getting started guide

    +0

    所以我完成了第4步。我在eclipse中的Employee.java所在的同一个位置创建了一个接口类。它似乎还没有看到Entity,Id和GeneratedValue存在。我添加了get/set广告toString,但是当我运行pom文件时它仍然崩溃。 – Asker

    +0

    @Asker第一:**'谢谢'**等于**接受/提高答案**在这里,不要忘记这个!其次,如果你不知道如何在Eclipse中创建项目和Java类,你应该在另一个问题上提出这个问题。或者在Google上找到答案,例如(https://www.google.com.ua/search?q=my+first+maven+project+in+eclipse)。关于你最后的问题 - 只需解压你在** start.spring.io **中创建的项目,然后在Eclipse中将其作为**新项目**打开。然后在应用程序类的相同包(文件夹)中创建实体类和回购类。 – Cepr0

    +0

    @Asker你不需要'运行pom文件'。你不能'运行'pom文件。您可以运行应用程序或一些测试。在我的回答中,我建议你只是运行测试课程。 – Cepr0

    0

    如果您之前没有使用过Spring,那么您可以享受一段时间。很多新开发Spring的开发人员会因控制容器和依赖注入的倒置而抛出。在XML配置文件中有许多历史教程材料,而大多数开发人员都希望以编程方式工作。而最糟糕的是,Spring在做代码时往往会做很多魔术,这并不总是显而易见的。

    首先要做的是确保您的IDE包含正确的插件。当你可以像注入类来定义它们时,对Spring的一些困惑可以减少,这是正确的插件可以为你做的。

    就你在前面的代码而言,这听起来像你的设置是你遇到问题的地方,也许你应该看看Spring Boot的教程或类似的工具来获取工作应用程序/容器。这个Spring Data starter假设你已经有了一个工作中的应用程序,并且将它集成到应用程序中。试试类似Sprint Boot quickstart,也可以查看Actuators以获得更好的现成功能。

    至于从未使用过数据库,这是一个很大的课题。从某些方面来说,Spring Data可以为您节省一些成本,因为对象关系映射(简称ORM)有助于将类实例自动转换为数据库行。但是当你使用@Id之类的注释时,你也可能会发现自己开始与诸如​​索引和引用完整性之类的概念斗争,这些概念代表您自动完成。

    我会和你的主管一起谈谈你在该地区的弱点,而不是沉默地挣扎。积极主动并且找到一些数据库101的资料,并在可能的时候仔细阅读相关主题,特别是如果你闲着,并且尊重你的主管可能不得不处理其他一些优先事项。一个优秀的开发人员永远不会无事可做,因为个人的改进是一个不变的后台任务,数据库是一项非常核心的技能。

    +0

    谢谢你的评论,我在一个实习生不常见的公司工作,并始终把我的双手充分,试图找出这一切意味着什么......我认为随着时间的推移,我会变得更好,因为我们现在都经历了同样的事情。这只是我认为这个社区可能提供一些阅读:)再次感谢你! – Asker