简介
使用H2创建CRUD(创建,读取,更新,删除)应用程序,Hibernate是快速开发功能强大且高效的Web应用程序的好方法。在本教程中,我们将浏览使用H2,Hibernate在Spring Boot上创建简单的CRUD应用程序的步骤。
先决条件
在启动本教程之前,您应该安装以下内容:
- Java 8或更高
- Apache Maven 3.x
- Eclipse IDE
您还应该对Spring Boot框架以及H2和Hibernate数据库有基本的了解。
步骤1:创建一个春季启动项目
使用H2在Spring Boot上创建CRUD应用程序的第一步,Hibernate是创建Spring Boot项目。为此,请打开Eclipse IDE,然后从菜单栏中选择“文件>新>弹簧启动器”项目。
在下一个窗口中,输入项目名称,选择语言为Java,然后选择Spring Boot版本。然后,单击“下一步”。
在下一个屏幕上,选择项目的依赖项。对于本教程,我们将选择网络,H2数据库和JPA(Hibernate)。单击“完成”以创建项目。
步骤2:创建数据库表
现在我们已经创建了项目,我们需要创建数据库表。为此,打开位于src/main/resources文件夹中的Propertiesâ文件。
在此文件中,我们将设置数据库URL,用户名和密码。对于本教程,我们将使用JDBC:H2:MEM:TESTDBâ用作数据库URL。将用户名和密码设置为saâ。
接下来,我们将创建数据库表。为此,在src/main/resources文件夹中创建一个名为“ schema.sql”的新文件。在此文件中,我们将编写SQL代码以创建数据库表。例如:
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name VARCHAR(255),
email VARCHAR(255)
);
CREATE TABLE posts (
id INTEGER PRIMARY KEY,
title VARCHAR(255),
content VARCHAR(255)
);
步骤3:创建实体类
下一步是创建实体类。这些类将用于将数据库表映射到Java对象。
在src/main/java文件夹中创建一个名为“实体”的新软件包。在此软件包中,创建两个称为“用户和帖子”的类。
对于用户类,添加以下代码:
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String email;
// Getters and setters
}
对于邮政课程,添加以下代码:
@Entity
public class Post {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String title;
private String content;
// Getters and setters
}
步骤4:创建存储库类
下一步是创建存储库类。这些类将用于访问数据库并执行CRUD操作。
在src/main/java文件夹中创建一个名为“存储库”的新软件包。在此软件包中,创建两个称为“ UserRepository”和“ Postrepository”的类。
对于UserRepository类,添加以下代码:
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}
对于Postrepository类,添加以下代码:
@Repository
public interface PostRepository extends JpaRepository<Post, Long> {
}
步骤5:创建服务类
下一步是创建服务类。这些类将用于管理数据并执行操作。
在src/main/java文件夹中创建一个名为“服务”的新软件包。在此软件包中,创建两个称为“ userService”和“后服务”的类。
对于用户服务类,添加以下代码:
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public List<User> getAllUsers() {
return userRepository.findAll();
}
public User getUserById(Long id) {
return userRepository.findById(id).get();
}
public User createUser(String name, String email) {
User user = new User();
user.setName(name);
user.setEmail(email);
return userRepository.save(user);
}
public User updateUser(Long id, String name, String email) {
User user = userRepository.findById(id).get();
user.setName(name);
user.setEmail(email);
return userRepository.save(user);
}
public void deleteUser(Long id) {
userRepository.deleteById(id);
}
}
对于后服务类,添加以下代码:
@Service
public class PostService {
@Autowired
private PostRepository postRepository;
public List<Post> getAllPosts() {
return postRepository.findAll();
}
public Post getPostById(Long id) {
return postRepository.findById(id).get();
}
public Post createPost(String title, String content) {
Post post = new Post();
post.setTitle(title);
post.setContent(content);
return postRepository.save(post);
}
public Post updatePost(Long id, String title, String content) {
Post post = postRepository.findById(id).get();
post.setTitle(title);
post.setContent(content);
return postRepository.save(post);
}
public void deletePost(Long id) {
postRepository.deleteById(id);
}
}
步骤6:创建控制器类
最后一步是创建控制器类。这些类将用于将请求映射到服务类。
在src/main/java文件夹中创建一个名为“控制器”的新软件包。在此软件包中,创建两个称为“ UserController”和“ PostController”的类。
对于UserController类,添加以下代码:
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping
public List<User> getAllUsers() {
return userService.getAllUsers();
}
@GetMapping("/{id}")
public User getUserById(@PathVariable Long id) {
return userService.getUserById(id);
}
@PostMapping
public User createUser(@RequestBody User user) {
return userService.createUser(user.getName(), user.getEmail());
}
@PutMapping("/{id}")
public User updateUser(@PathVariable Long id, @RequestBody User user) {
return userService.updateUser(id, user.getName(), user.getEmail());
}
@DeleteMapping("/{id}")
public void deleteUser(@PathVariable Long id) {
userService.deleteUser(id);
}
}
对于PostController类,添加以下代码:
`@RestController
@RequestMapping("/posts")
public class PostController {
@Autowired
private PostService postService;
@GetMapping
public List<Post> getAllPosts() {
return postService.getAllPosts();
}
@GetMapping("/{id}")
public Post getPostById(@PathVariable Long id) {
return postService.getPostById(id);
}
@PostMapping
public Post createPost(@RequestBody Post post) {
return postService.createPost(post.getTitle(), post.getContent());
}
@PutMapping("/{id}")
public Post updatePost(@PathVariable Long id, @RequestBody Post post) {
return postService.updatePost(id, post.getTitle(), post.getContent());
}
@DeleteMapping("/{id}")
public void deletePost(@PathVariable Long id) {
postService.deletePost(id);
}
}`
结论
在本教程中,我们浏览了使用H2,Hibernate在Spring Boot上创建一个简单的CRUD应用程序的步骤。我们创建了我们的项目,创建了数据库表,创建了实体类,创建了存储库类,创建了服务类并创建了控制器类。
使用此应用程序,我们现在可以使用H2和Hibernate数据库轻松地创建,阅读,更新和删除数据。