您可以使用 Spring Data JPA 在 Spring 中非常轻松地执行 CRUD 操作。
假设你有你的实体类YourClass:
@Entity
public class YourClass {
@Id
private Long id;
private String name;
// constructors, getters, setters
}
只需从 org.springframework.data.repository.CrudRepository 扩展您的存储库接口即可使其正常工作。
注意:你会发现org.springframework.data.jpa.repository.JpaRepository更方便,随意使用,因为它也是一个CrudRepository继承。
public interface YourClassRepository extends JpaRepository<YourClass, Long> {
// you already have all the CRUD methods
// you can also create own queries just introducing their signatures like below:
List<YourClass> findByName(String name);
}
您已准备好以save、findAll、findOne、delete(以及其他一些方法)执行所有 CRUD 操作。
如果在一个典型的 Java 应用程序中,您必须编写一个实现 YourClassRepository 的类,那么 Spring Data JPA 的主要功能就来了——您不必编写任何存储库接口的实现 . Spring Data JPA 在您运行应用程序时动态创建实现。
Spring Data JPA 还允许您通过简单地声明它们的方法签名来定义其他查询方法。在此示例中,它使用findByName() 方法显示。那是因为您在YourClass 中有name 字段,您可以使用任何其他字段创建此类查询。
然后您可以简单地注入您的存储库并在您的控制器或服务类中使用它:
@Controller
public class YourClassController {
@Autowired
private YourClassRepository repository;
@RequestMapping(value = "entities", method = RequestMethod.GET)
public List<YourClass> list() {
return repository.findAll();
}
@RequestMapping(value = "entities", method = RequestMethod.POST)
public YourClass create(@RequestBody YourClass yourClass) {
return repository.saveAndFlush(yourClass);
}
@RequestMapping(value = "entities/{id}", method = RequestMethod.GET)
public YourClass get(@PathVariable Long id) {
return repository.findOne(id);
}
@RequestMapping(value = "entities/{id}", method = RequestMethod.PUT)
public YourClass update(@PathVariable Long id, @RequestBody YourClass yourClass) {
YourClass existingYourClass = repository.findOne(id);
BeanUtils.copyProperties(yourClass, existingYourClass);
return repository.saveAndFlush(existingYourClass);
}
@RequestMapping(value = "entities/{id}", method = RequestMethod.DELETE)
public YourClass delete(@PathVariable Long id) {
YourClass existingYourClass = repository.findOne(id);
repository.delete(existingYourClass);
return existingYourClass;
}
}
你应该完成的优秀教程是Accessing Data with JPA。
配置MySQL数据库呢,首先需要在Maven的pom.xml中添加mysql-connector-java依赖,然后提供数据源详情。
您可以通过以下方式执行此操作:在您的配置 Spring bean XML 文件中或使用 Java Annotations。但最简单的方法是使用Spring Boot 并在application.properties 文件中提供您的数据源详细信息,例如:
application.db.driver = com.mysql.jdbc.Driver
application.db.url = jdbc:mysql://localhost:3306/yourDbName
application.db.username = username
application.db.password = password
最后,在Spring Guides,您可以找到很多非常有用的教程,这些教程是关于使用 Spring 团队推荐的 Spring 项目版本和技术,从头开始并逐步完成。它们通常很短(每个指南 15-20 分钟)并且非常清晰。
当然,您还必须学习一些构建自动化工具,例如 Maven、Gradle、Ant - 它非常方便。以下是关于如何开始使用 Maven 的文章:Maven in 5 Minutes。
祝你学习顺利。