下面是详细的步骤:
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
}
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Springboot引入hibernate配置自动建表并进行增删改查操作 - Python技术站