我刚开始学习Java的Spring MVC框架,我想学习如何处理CRUD操作以及处理表单数据.到目前为止,网上的许多教程主要是关于Spring和Maven的组合,我觉得这是一个自学初学者.在一个偏好MySQL的典型Spring MVC项目中,我希望...
我刚开始学习Java的Spring MVC框架,我想学习如何处理CRUD操作以及处理表单数据.
到目前为止,网上的许多教程主要是关于Spring和Maven的组合,我觉得这是一个自学初学者.
在一个偏好MySQL的典型Spring MVC项目中,我希望能够完全理解我需要处理CRUD操作的一些说明.此外,任何相关的教程建议,将得到高度赞赏.
解决方法:
您可以使用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);
}
并且您已准备好执行所有CRUD操作,如save,findAll,findOne,delete(以及其他一些方法).
如果在典型的Java应用程序中你必须编写一个实现YourClassRepository的类,那么Spring Data JPA的主要功能就是 – 你不必编写存储库接口的任何实现. Spring Data JPA在您运行应用程序时动态创建实现.
Spring Data JPA还允许您通过简单地声明其方法签名来定义其他查询方法.在此示例中,它使用findByName()方法显示.这是因为您在YourClass中有名称字段,您可以使用任何其他字段创建此类查询.
然后您可以简单地注入您的存储库并在您的控制器或服务类中使用它:
@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.
祝你学习顺利.
本文标题为:java – 使用Spring MVC和MySQL数据库
基础教程推荐
- SpringBoot统一接口返回及全局异常处理高级用法 2023-01-29
- Java中BigDecimal,DateFormatter 和迭代器的"陷阱" 2022-12-16
- Seata AT模式启动过程图文示例详解 2023-06-06
- 导入maven项目各个注解均报错的解决方案 2023-08-07
- Java内存区域管理详解 2023-05-24
- 货拉拉大数据对BitMap的探索实践详解 2023-05-19
- 2022年最新java 8 ( jdk1.8u321)安装图文教程 2022-09-03
- springboot中如何通过main方法调用service或dao 2022-10-30
- 学习Java之如何正确地向上转型与向下转型 2023-07-14
- 如何在SpringBoot项目里进行统一异常处理 2023-03-21