从最基本的Java工程搭建SpringMVC+SpringDataJPA+Hibernate

下面我将详细讲解“从最基本的Java工程搭建SpringMVC+SpringDataJPA+Hibernate”的完整攻略。

前置要求

在正式进行搭建之前,需要确保你已经安装配置好以下软件:

  • JDK
  • Maven
  • Tomcat
  • IDE(推荐使用IntelliJ IDEA)

步骤一:创建Maven项目

首先,我们需要创建一个Maven项目。在IDE中,找到创建Maven项目的选项,然后填入以下信息:

  • GroupId:com.example
  • ArtifactId:spring-mvc-jpa-example
  • Version:1.0.0

创建完成后,IDE会自动构建出一个基本的Maven项目。

步骤二:导入Spring框架

在pom.xml文件中,添加以下依赖项:

<dependencies>
  <!--Spring-->
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.2.8.RELEASE</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.2.8.RELEASE</version>
  </dependency>
  <!--其他依赖项...-->
</dependencies>

这里我们导入了Spring的两个核心依赖:spring-context和spring-webmvc。

步骤三:导入Spring Data JPA

在pom.xml文件中,添加以下依赖项:

<dependencies>
  <!--Spring Data-->
  <dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-jpa</artifactId>
    <version>2.3.3.RELEASE</version>
  </dependency>
  <!--其他依赖项...-->
</dependencies>

这里我们导入了Spring Data JPA。

步骤四:导入Hibernate

在pom.xml文件中,添加以下依赖项:

<dependencies>
  <!--Hibernate-->
  <dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.4.20.Final</version>
  </dependency>
  <!--其他依赖项...-->
</dependencies>

这里我们导入了Hibernate。

步骤五:配置数据源

在application.properties文件中,添加以下内容:

#数据源配置
spring.datasource.url=<JDBC_URL>
spring.datasource.username=<USERNAME>
spring.datasource.password=<PASSWORD>
spring.datasource.driver-class-name=<DRIVER_CLASS_NAME>

#Hibernate配置
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.properties.hibernate.show_sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.hbm2ddl.auto=update

其中,JDBC_URL、USERNAME、PASSWORD、DRIVER_CLASS_NAME需要根据实际情况进行配置。

步骤六:创建实体类和仓库接口

在src/main/java目录下,创建一个包名为com.example.entity的包。在其中创建一个实体类Person:

@Entity
public class Person {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(nullable = false)
    private String name;

    @Column(nullable = false)
    private Integer age;

    //省略getter和setter方法
}

然后,在同样的包中,创建一个仓库接口PersonRepository:

@Repository
public interface PersonRepository extends JpaRepository<Person, Long> {
}

步骤七:创建控制器

在src/main/java目录下,创建一个包名为com.example.controller的包。在其中创建一个控制器HomeController:

@Controller
public class HomeController {
    @Autowired
    private PersonRepository personRepository;

    @GetMapping("/")
    public String index(Model model) {
        List<Person> persons = personRepository.findAll();
        model.addAttribute("persons", persons);
        return "index";
    }
}

这里我们注入了PersonRepository,并在index方法中查询所有Person对象,存入Model中,并返回名为index的视图。

步骤八:创建视图

在src/main/resources/templates目录下,创建一个名为index.html的文件,添加以下内容:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Spring MVC JPA Example</title>
</head>
<body>
    <h1>Person List</h1>
    <ul>
        [[#th:each="person : ${persons}"]]
        <li>[[${person.id}]] - [[${person.name}]] ([[${person.age}]] years old)</li>
        [[/th:each]]
    </ul>
</body>
</html>

这里使用了Thymeleaf模板引擎,展示了查询到的Person对象列表。

步骤九:部署项目并运行

完成以上步骤后,我们可以使用IDE中的内置Tomcat或手动安装Tomcat,将项目打包为war包并部署到Tomcat中,然后访问http://localhost:8080/springmvc-jpa-example/,即可看到查询到的Person对象列表。

示例一:插入一条Person记录

在HomeController中添加以下方法:

@GetMapping("/new")
public String create() {
    Person person = new Person();
    person.setName("张三");
    person.setAge(20);
    personRepository.save(person);
    return "redirect:/";
}

这里我们实例化一个Person对象,并将姓名和年龄设置为“张三”和20,在保存后重定向到首页。访问http://localhost:8080/springmvc-jpa-example/new,即可插入一条新的Person记录。

示例二:删除一条Person记录

在HomeController中添加以下方法:

@GetMapping("/delete/{id}")
public String delete(@PathVariable("id") Long id) {
    personRepository.deleteById(id);
    return "redirect:/";
}

这里我们根据id从数据库中删除Person记录,并重定向到首页。访问http://localhost:8080/springmvc-jpa-example/delete/1,即可删除id为1的Person记录。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:从最基本的Java工程搭建SpringMVC+SpringDataJPA+Hibernate - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • 关于log4j漏洞修复解决方案及源码编译

    关于log4j漏洞修复解决方案及源码编译,我会给出下面的完整攻略。 1. 了解Log4j漏洞 最近,Log4j2.0这个常用的Java日志框架出现了一个安全漏洞,攻击者可以通过构造恶意代码的方式,远程执行任意命令。此漏洞受到了国内外广泛关注,因此及时修复这个漏洞变得尤为必要。 2. 解决方案 下面就是在Windows环境下解决这个问题的步骤。 2.1 检查是…

    Java 2023年5月19日
    00
  • 学习SpringMVC——国际化+上传+下载详解

    以下是关于“学习SpringMVC——国际化+上传+下载详解”的完整攻略,其中包含两个示例。 学习SpringMVC——国际化+上传+下载详解 SpringMVC是一种常用的Web开发框架,它提供了许多有用的功能,如国际化、文件上传和下载等。在本文中,我们将讲解如何在SpringMVC中实现国际化、文件上传和下载功能。 国际化 国际化是一种将应用程序适应不同…

    Java 2023年5月17日
    00
  • Java项目之java+springboot+ssm实现理财管理系统设计

    Java项目之java+springboot+ssm实现理财管理系统设计 项目介绍 本项目是一个基于Java、Spring Boot、SSM框架的理财管理系统,可以帮助用户管理个人的理财信息,包括资产、收支情况、投资组合等,以及提供投资建议等功能。 技术栈 本项目的技术栈包括: Java SE Spring Boot Spring Framework MyB…

    Java 2023年5月19日
    00
  • JSP 防范SQL注入攻击分析

    完整的JSP防范SQL注入攻击分析过程如下: 1.了解SQL注入攻击 首先,要了解什么是SQL注入攻击。SQL注入攻击是黑客利用应用程序的安全漏洞,将恶意的SQL代码插入到应用程序的SQL语句中,以获得非法的数据库访问权限。在JSP应用程序中,如果不对用户提交的请求进行适当的过滤和验证,那么黑客就有可能通过SQL注入攻击来破坏应用程序的安全性。 2.使用预编…

    Java 2023年6月15日
    00
  • JavaWeb项目FullCalendar日历插件使用的示例代码

    下面是详细讲解JavaWeb项目中使用FullCalendar日历插件的攻略: 简介 FullCalendar是一款基于jQuery的开源工具,可以用来构建全功能、交互式日历和调度表。它可以用于Web应用程序、企业级管理系统、个人日历、日程安排等场景。使用FullCalendar可以快速高效地构建一个功能丰富的日历。下面是如何在JavaWeb项目中使用Ful…

    Java 2023年5月23日
    00
  • 安装IDEA和配置Maven的步骤详解

    安装IDEA和配置Maven的步骤详解 一、安装IDEA 下载IntelliJ IDEA安装包:在JetBrains官网下载对应操作系统的IntelliJ IDEA Ultimate版本或Community版本的安装包,地址为:https://www.jetbrains.com/idea/download/#section=windows 安装Intelli…

    Java 2023年5月20日
    00
  • Spring Boot 2.X优雅的解决跨域问题

    Spring Boot 2.X优雅的解决跨域问题 在前后端分离的开发模式下,跨域问题是一个常见的问题。在Spring Boot 2.X中,我们可以通过配置来优雅地解决跨域问题。本文将手把手教你如何在Spring Boot 2.X中解决跨域问题,包括配置跨域、使用注解解决跨域等。 1. 配置跨域 在Spring Boot 2.X中,我们可以通过配置来解决跨域问…

    Java 2023年5月14日
    00
  • 浅谈Java读写注册表的方式Preferences与jRegistry

    浅谈Java读写注册表的方式Preferences与jRegistry 在Windows操作系统中,注册表是用来存储系统和应用程序相关设置的数据库。Java提供了两种方式读写注册表的数据:Preferences和jRegistry。 使用Preferences读写注册表 Preferences是Java 1.4及以上版本中提供的读写注册表数据的API。它可以…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部