初学SpringBoot,整合SpringData JPA,大佬多指教

SpringBoot整合SpringData JPA

SpringBoot整合SpringData JPA :JPA:ORM(Object Relational Mapping)

摘要:Spring Data 项目的目的是为了简化构建基于Spring 框架应用的数据访问技术,包括非关系数据库、Map-Reduce 框架、云数据服务等等;另外也包含对关系数据库的访问支持。

1、引入starter (pom文件)

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

2、编写一个实体类(bean)和数据表进行映射,并且配置好映射关系

@Data
@AllArgsConstructor
@NoArgsConstructor
//使用jpa注解配置映射关系
@Entity //告知JPA这是一个实体类(和数据库映射的类)
@Table(name = "tab_user") //@Table指定和哪个数据表对应;如果省略默认表明就是类名首字母小写user
public class User {
    @Id //这是一个主键
    @GeneratedValue(strategy = GenerationType.IDENTITY) //表明是自增主键
    private Integer id;

    @Column(name = "last_name") //这是和数据表对应的一个列
    private String lastName;

    @Column //若省略@Column,默认数据表的列名就是属性名
    private String email;

}

3、编写一个Dao接口来操作实体类对应的数据表(Repository)

//继承JpaRepository来完成对数据库的操作
public interface UserRepository extends JpaRepository<User, Integer> { //继承JpaRepository,既能提供基本CRUD操作,又有基本分页功能


}

源码:

@NoRepositoryBean
public interface JpaRepository<T, ID> extends PagingAndSortingRepository<T, ID>, QueryByExampleExecutor<T> {

   /*
    * (non-Javadoc)
    * @see org.springframework.data.repository.CrudRepository#findAll()
    */
   @Override
   List<T> findAll();

4、application.yml

spring:
  datasource:
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://192.168.93.101:3306/mybatis_test


  jpa:
    hibernate:
#     更新或者创建数据表结构
      ddl-auto: update
#   控制台显示sql
    show-sql: true

5、自动建表成功~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值