spring-data-jpa操作jpa(hibernate实现)

本文介绍了如何在Spring Boot项目中使用Spring Data JPA和Hibernate进行数据库操作。首先,需要在Maven的pom.xml中添加相关依赖,并在配置文件中设置数据库连接信息。接着,详细讲解了实体类的构建,包括`@Table`、`@Entity`等注解的使用,以及如何处理双向关联以避免JSON序列化时的递归错误。然后,阐述了Repository的构建,说明只需简单继承`JpaRepository`即可实现基本的CRUD操作。最后,讨论了JPA的多表操作,包括JPQL和固定前缀查询方法,以及使用Example对象进行查询的方式。
摘要由CSDN通过智能技术生成

1.在maven的pom文件中添加依赖

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>	<!-- druid start -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.1.9</version>
		</dependency>
		<!-- druid end -->
		<!-- mysql start -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>8.0.11</version><!--$NO-MVN-MAN-VER$ -->
		</dependency>
		<!-- mysql end -->


2.在springboot的配置文件yml文件中配置数据库链接信息

spring:
#数据库链接信息配置
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    url: jdbc:mysql://192.168.1.25:3306/test?useUnicode=true&characterEncoding=utf8
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
#JPA配置
  jpa:
    hibernate:
      ddl-auto: create-drop
    show-sql: true
    database-platform: org.hibernate.dialect.MySQL55Dialect
#请求编码配置  
  http:
    encoding:
      charset: UTF-8
      force: true
      enabled: true
#日志配置
logging:
  file: /logs/springBootTest.log
  pattern:
    level: debug

3.具体编码

3.1第一步:构建实体类Customer

package com.example.myapplication.customer;


import java.io.Serializable;
import java.util.Date;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import com.example.myapplication.order.Order;

@Table
@Entity
public class Customer implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 4340240628311870193L;
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(columnDefinition="int unsigned")
	private Long id;
	@Column(nullable=false)
	private String name;
	@Column(name="borthday",nullable=false)
	private Date borthDay;
	@Column(nullable=false)
	private String add
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值