使用Spring MVC和MySQL数据库
我刚开始学习Java的Spring MVC框架,我想学习如何处理CRUD操作以及处理表单数据。使用Spring MVC和MySQL数据库
到目前为止,网络上的许多教程主要是关于Spring与Maven的组合,我觉得作为自学初学者很困惑。
我将不胜感激一些澄清,我将需要完全处理典型的Spring MVC项目中的CRUD操作,并优先使用MySQL。任何相关的教程建议,以获得相同的将不胜感激。
您可以很容易地在Spring Data JPA在春季执行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
这里来春数据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数据库,首先你需要mysql-connector-java依赖性增加Maven的pom.xml
,然后提供数据源的详细信息是什么。
您可以通过以下方式执行此操作:在您的配置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。
祝你好运与你的学习。
问题要求我们推荐或找到一本书,工具,软件库,教程或其他非本地资源,因为它们倾向于吸引自以为是的答案和垃圾邮件,因此无法用于Stack Overflow。相反,请描述问题以及到目前为止解决问题所做的工作。 –