SpringDataJPA快速入门

实现步骤

1、导入jpa依赖

<dependencies>
    <!--jpa依赖-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
</dependencies>

2、配置数据源&JPA

例:

  • application.yml
spring:
  # 配置数据源
  datasource:
    # 数据库驱动
    driver-class-name: com.mysql.cj.jdbc.Driver
    # 数据库连接地址
    url: jdbc:mysql:///employees?useUnicode=true&serverTimezone=UTC&characterEncoding=utf8&useSSL=true
    # 密码
    username: root
    # 用户名
    password: root
  jpa:
    hibernate:
      ddl-auto: update  # none : 默认值,表示不对数据库表进行任何操作和验证
    show-sql: true # true 表示 是否显示sql,false表示不显示
    properties:
      hibernate:
        jdbc:
          batch_size: 50 # batch中允许多少条待执行的sql
        use_sql_comments: true # 使用sql注释
        format_sql: true    # 格式化SQL,如果不加,SQL输出不换行,不方便查看
    # 配置数据库方言
    database-platform: org.hibernate.dialect.MySQL8Dialect
  • application.properties
# 配置数据源
# 数据库驱动
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 数据库连接地址
spring.datasource.url=jdbc:mysql:///employees?useUnicode=true&serverTimezone=UTC&characterEncoding=utf8&useSSL=true
# 用户名
spring.datasource.username=root
# 密码
spring.datasource.password=root
# 配置JPA
# 配置数据库方言
spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
# 配置ddl-auto属性,该属性有三个取值。分别如下:
# none: 默认值,不对数据库表进行任何操作和验证
# create: 没表会自动创建表,会清空表数据(慎用)
# update: 没表会自动创建表,不会清空表数据
spring.jpa.hibernate.ddl-auto=update
# 配置properties
# * hibernate.jdbc.batch_size: 表示batch中允许多少条待执行的sql,默认为15
# * hibernate.use_sql_comments : 表示是否使用sql注释
# * hibernate.format_sql : 表示是否对sql语句进行格式化
spring.jpa.properties.hibernate.jdbc.batch_size=50
# 是否使用sql注释
spring.jpa.properties.hibernate.use_sql_comments=true
# 是否显示sql(show-sql)&格式化sql(format_sql)通常同时出现,目的:优化/美化Console控制台中sql语句的输出
# 是否显示sql
spring.jpa.show-sql=true
# 是否格式化sql
spring.jpa.properties.format_sql=true 

上面两种,根据实际需要任选一种即可

注意事项:

1、Mysql驱动的版本应该和MySQLxDialect保持一致,x表示你的Mysql驱动的版本。

例:若你的Mysql驱动的版本是8,那就应该对应MySQL8Dialect

MySQLxDialect-->配置方言

3、创建实体类User

@Entity
@Table(name = "tb_user")
@ToString
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class User implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY) // ID自增长
    @Column(name = "id",insertable = false,updatable = false)
    private Integer id;
    @Column(name = "username",columnDefinition = "varchar(200) not null")
    private String username;
    @Column(name = "idCard",unique = true,table = "tb_user",nullable = false,length = 255)
    private String idCard;
    @Column(name = "wage",precision = 12,scale = 2)
    private Double wage;
    @Column(name = "email")
    private String email;
}

4、编写数据访问层Mapper接口,并继承JPaRepository<实体类,主键id类型>接口

public interface UserMapper extends JpaRepository<User,Integer> {}

5、创建测试类,定义测试方法,进行测试

@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringDataJpaQuickStartApplication.class)
public class UserMapperTest {
    @Autowired
    private UserMapper userMapper;
    @Test
    public void testSave() throws Exception {
        // 构建User对象
        User user = User.builder()
                .email("javadever@foxmail.com") // 邮箱
                .idCard("429005199801010878")// 身份证号
                .id(1)// 主键id
                .username("Java码农ing") // 用户名
                .wage(12000.23) // 工资
                .build();
        // 调用数据访问层方法
        userMapper.save(user);
    }
}

效果截图:

SpringDataJPA

以上就完成了SpringBootJPA的快速入门,觉得小编写的不错的话,给小编点个赞哦,我们下期再见!

关注下方小编的公众号,更多精彩等着你哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔走中的蜗牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值