SpringBoot + JPA(Hibernate)环境快速搭建
1、导入相关Jar包
org.springframework.boot
spring-boot-starter-data-jdbc
org.springframework.boot
spring-boot-starter-data-jpa
org.springframework.boot
spring-boot-devtools
runtime
true
mysql
mysql-connector-java
runtime
org.springframework.boot
spring-boot-starter-test
test
2、编写application.properties配置文件
#通用数据源配置
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://118.31.170.247:3306/test?charset=utf8mb4&useSSL=false
spring.datasource.username=root
spring.datasource.password=
# Hikari 数据源专用配置
spring.datasource.hikari.maximum-pool-size=20
spring.datasource.hikari.minimum-idle=5
# JPA 相关配置
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
3、编写实体类
DaySeason.java
@Table(name = "day_season")
@Entity
public class DaySeason implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id ;
@NotNull
@Column(name = "uuid", nullable = false)
private String uuid;
@OneToMany(mappedBy = "daySeason")
private List daySeasonMember ;
}
DaySeasonMember.java
@Table(name = "day_season_member")
@Entity
public class DaySeasonMember implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id ;
@NotNull
@Column(name = "uuid", nullable = false)
private String uuid;
@ManyToOne(targetEntity = DaySeason.class)
@JoinColumn(name="day_season_id",referencedColumnName ="id")
private DaySeason daySeason;
}
4、编写接口
DaySeasonDao.java
@Repository
public interface DaySeasonDao extends JpaRepository {
}
DaySeasonMemberDao.java
@Repository
public interface DaySeasonMemberDao extends JpaRepository {
}
5、测试
@Autowired
private DaySeasonMemberDao daySeasonMemberDao ;
@Autowired
private DaySeasonDao daySeasonDao ;
@Test
public void test1() throws IOException, JRException {
List all = daySeasonMemberDao.findAll();
List all1 = daySeasonDao.findAll();
all.forEach((daySeasonMember)->{
System.out.println(daySeasonMember);
});
}