gpt4 book ai didi

java - Spring MVC和MySQL数据库的使用

转载 作者:可可西里 更新时间:2023-11-01 07:32:16 26 4
gpt4 key购买 nike

我刚开始学习 Java 的 Spring MVC 框架,我想学习如何处理 CRUD 操作以及处理表单数据。

目前网上的很多教程都是关于Spring和Maven的结合,作为一个自学的初学者,我觉得很困惑。

我希望能对在典型的 Spring MVC 项目中处理 CRUD 操作所需的内容进行一些澄清,并优先使用 MySQL。此外,任何相关的教程建议都将受到高度赞赏。

最佳答案

您可以使用 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 扩展您的存储库接口(interface)即可使其正常工作。

注意:你会发现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);
}

并且您已准备好执行所有 CRUD 操作,如 savefindAllfindOnedelete(以及其他一些方法)。

如果在典型的 Java 应用程序中,您必须编写一个实现 YourClassRepository 的类,这就是 Spring Data JPA 的主要功能 – 您不必编写任何实现 存储库界面。 Spring Data JPA 在您运行应用程序时即时创建一个实现。

Spring Data JPA 还允许您通过简单地声明它们的方法签名 来定义其他查询方法。在此示例中,它使用 findByName() 方法显示。那是因为您在 YourClass 中有 name 字段,您可以使用任何其他字段创建此类查询。

然后您可以简单地注入(inject)您的存储库并在您的 Controller 或服务类中使用它:

@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数据库呢,首先要加上mysql-connector-java依赖于 Maven 的 pom.xml,然后提供数据源详细信息。

您可以通过以下方式完成此操作:在您的配置 Spring bean XML 文件中或使用 Java 注释。但最简单的方法是使用 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 .

祝你学习顺利。

关于java - Spring MVC和MySQL数据库的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39657412/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com