一、SpringBoot整合Jpa
1、向pom文件添加依赖
<!--jpa依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!--mysql依赖--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!--lombok--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <scope>provided</scope> </dependency>
2、application.yml配置
#配置端口号 server: port: 9000 #数据库配置 spring: datasource: url: jdbc:mysql://localhost:3306/springboot_test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver #jpa配置 jpa: properties: hibernate: dialect: org.hibernate.dialect.MySQL5InnoDBDialect format_sql: true show-sql: true
3、entity
添加@Entity注解,指定表名
** * @author liangd * date 2020-12-04 09:03 * code 部门表 */ @Entity(name = "dept") @Data @Builder @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode public class DeptEntity implements Serializable { /** * Id自动递增 */ @Id @GeneratedValue(strategy = GenerationType.AUTO) private int id; private String deptName; private String deptCode; }
4、repository
继承JpaRepository接口,可以直接调用Jpa的接口方法
/** * @author liangd * date 2020-12-04 09:27 * code 继承Jpa接口 */ public interface IDeptRepository extends JpaRepository<DeptEntity,Integer> { }
二、Jpa根据实体自动建表
1、Project structure > modules > +(左侧) 搜索 jpa > 双击 (右侧 ‘+’ 号)>persistence.xml
Default jpa provider > hibernate >apply >ok
2、provider选择hibernate
3、点击ok项目左下角会出现一个Persistence,展开-->右击项目-->选择schema,如图
4、下一步,选择数据源,包名,前缀后缀以及要自动生成数据库表的实体,点击ok即可生成