下面我将详细讲解“从最基本的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技术站