Springboot引入hibernate配置自动建表并进行增删改查操作

下面是详细的步骤:

1. 添加依赖

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

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <scope>runtime</scope>
</dependency>

2. 配置数据库连接信息

在application.properties文件中进行数据库连接信息的配置,例如:

spring.datasource.url=jdbc:mysql://localhost:3306/sample_db?serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=password
spring.jpa.hibernate.ddl-auto=create-drop

上面的配置使用了MySQL作为数据库,连接的是本地的数据库sample_db,用户名是root,密码是password,使用的是UTC时区,同时配置了hibernate的ddl-auto属性为create-drop,表示每次启动后都会重新创建数据库表。

3. 创建实体类

在包含main函数的类同级目录下,创建对应的实体类,例如:

@Entity
@Table(name = "person")
public class Person {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;

    private String name;

    private int age;

    // 省略getter和setter方法
}

其中的注解表示该类是实体类,在对应的数据库中会创建名为person的表格,表格中包含id、name和age三个字段,其中id是主键。

4. 创建数据访问接口

在对应实体类的同级目录下,创建对应的数据访问接口,例如:

@Repository
public interface PersonRepository extends JpaRepository<Person, Long> {
    List<Person> findByName(String name);
}

该接口继承了JpaRepository类,在该接口中可以实现各种对数据库的操作,例如查询、新增、修改和删除。

5. 使用Controller进行测试

在Controller中注入上一步创建的PersonRepository,并进行测试,例如:

@RestController
@RequestMapping("/person")
public class PersonController {
    @Autowired
    private PersonRepository personRepository;

    @GetMapping("/findByName")
    public List<Person> findByName(@RequestParam String name) {
        return personRepository.findByName(name);
    }

    @PostMapping("/")
    public Person addPerson(@RequestBody Person person) {
        return personRepository.save(person);
    }

    @PutMapping("/")
    public Person updatePerson(@RequestBody Person person) {
        return personRepository.save(person);
    }

    @DeleteMapping("/{id}")
    public void deletePerson(@PathVariable long id) {
        personRepository.deleteById(id);
    }
}

该Controller中包含四个方法,分别实现查询、新增、修改和删除对Person实体类的操作。

以上就是使用SpringBoot和Hibernate框架搭建的数据库配置和操作的完整攻略。

下面附上两个例子:

示例一:查询操作

请求方式:GET

请求URL:/person/findByName?name=张三

请求返回结果:

[
  {
    "id": 1,
    "name": "张三",
    "age": 20
  },
  {
    "id": 2,
    "name": "张三",
    "age": 25
  }
]

示例二:新增操作

请求方式:POST

请求URL:/person/

请求参数:

{
  "name": "李四",
  "age": 30
}

请求返回结果:

{
  "id": 3,
  "name": "李四",
  "age": 30
}
阅读剩余 68%

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Springboot引入hibernate配置自动建表并进行增删改查操作 - Python技术站

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

相关文章

  • JAVA JNI函数的注册过程详细介绍

    JNI(Java Native Interface)是Java向底层语言(如C、C++)展示其本地方法(Native Method)能力的桥梁,因此在使用JNI时需要将Java方法与本地C/C++函数进行关联,这便是JNI函数的注册过程。 JNI函数的注册流程如下: 1.在C/C++文件中,定义实现Java方法的本地函数。 2.使用javah命令生成与本地函…

    Java 2023年5月26日
    00
  • SpringBoot中使用Ehcache的详细教程

    下面我来为您详细讲解“SpringBoot中使用Ehcache的详细教程”。 简介 Ehcache是一个流行的开源缓存解决方案,它提供了多级缓存机制、内存缓存和磁盘缓存等多种缓存策略,并具有快速、灵活、可扩展等优点。在SpringBoot中使用Ehcache可以加速应用程序的响应速度,提高应用程序的性能。 步骤 1. 引入依赖 在SpringBoot项目的p…

    Java 2023年5月20日
    00
  • 详解HTTP请求与响应基础及实例

    详解HTTP请求与响应基础及实例 HTTP是一种用于网络传输的协议,它定义了客户端和服务器之间进行通信的规则。在HTTP通信过程中,客户端向服务器发送请求,服务器则对请求进行处理并返回响应,由此构成了HTTP请求和响应的基础。 HTTP请求 HTTP请求由三部分构成:请求行、请求头和请求体。其中,请求行包含请求的方法、URI和HTTP版本号,请求头包含了请求…

    Java 2023年5月20日
    00
  • 动态字节码生成的作用是什么?

    动态字节码生成是指在程序运行过程中动态生成字节码的一种技术。它可以让程序在运行时动态地生成类,方法和字段等内容,而不必像静态代码一样事先写好保存在文件中。这种技术最常见的使用场景是实现动态代理、AOP(面向切面编程)等功能。以下是动态字节码生成的使用攻略。 步骤一:引入相关库 使用动态字节码生成技术需要引入相关的库,下面是两种常用的库: ASM:ASM是Ja…

    Java 2023年5月11日
    00
  • 一篇文章教带你了解Java Spring之自动装配

    一篇文章教带你了解Java Spring之自动装配 1. 理解什么是自动装配 在Spring中,依赖注入(DI)是实现对象之间解耦的一种常用方式。而自动装配(Autowiring)则是一种更加便利的依赖注入方式,它能够自动地为容器中需要注入的对象找到合适的实例。自动装配可以减少开发者对注入实例的手动处理,减少了代码冗余。 2. Spring的自动装配模式 S…

    Java 2023年5月19日
    00
  • HTML页面3秒后自动跳转的三种常见方法

    下面我将详细讲解HTML页面3秒后自动跳转的三种常见方法。一共有三种方法,分别是使用HTML的meta标签、使用JavaScript的setTimeout()函数以及使用HTML的refresh标签。 一、使用HTML的meta标签 在HTML的head标签中添加meta标签,其中content属性用于指定页面跳转的目标URL,而http-equiv属性设为…

    Java 2023年6月15日
    00
  • Shell脚本把文件从GBK转为UTF-8编码

    下面我将详细讲解如何通过Shell脚本将GBK编码的文件转为UTF-8编码的文件。 1. 确认文件编码格式 在进行转码操作之前,需要先确认文件的编码格式。可以通过file命令查看文件的编码格式,例如: $ file test.txt test.txt: UTF-8 Unicode text 如果文件的编码格式为GBK,则需要进行转码。 2. 安装iconv …

    Java 2023年6月1日
    00
  • java字符串中${}或者{}等的占位符替换工具类

    Java字符串中 ${} 或 {} 等占位符用于在字符串中嵌入变量,以便动态地构造字符串。在实际应用中,我们可能需要对包含占位符的字符串进行替换,这时候我们可以使用工具类来实现占位符替换功能。下面是占位符替换的完整攻略: 步骤一:创建工具类 创建一个 Java 工具类,用于实现占位符替换功能。核心代码如下: public class PlaceholderU…

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