Springboot整和JPA 对数据库的操作

本文介绍了如何在Spring Boot应用中整合JPA进行数据库操作,包括在pom.xml中添加依赖,配置数据库信息,创建Repository接口继承JpaRepository,使用@Query自定义查询和SQL语句,以及讨论了@Modifying、@Transactional和@Entity等注解的用途。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在pom.xml中添加JPA跟数据库的依赖,我选择的是mysql数据库

15544496402349f7adca4def67bb7119.png

 在配置文件中配置相关信息fde0128caccb473b91b6df8d9e7b3a0c.png

spring:
  #数据库连接信息
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/springbootdata
    username: root
    password: 123

  jpa:
    hibernate:
      ddl-auto: update   #指定数据库的初始化模式,如果没有创建数据表,则需要设置该属性
    properties:
      hibernate:
        format_sql: true # 开启SQL格式化
    show-sql: true     #指定在控制台显示SQL语句

#mybatis 日志开关
mybatis:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    map-underscore-to-camel-case: true

 创建 * Repository 并继承 JpaRepository<Student,Integer> 是一个泛型接口

形参表示

  1. Student: 这是实体类的类型,通常用来表示数据库中的一张表。在这个泛型接口中,Student表示具体的实体类型,对应数据库中的表。

  2. Integer: 这是实体类的主键的数据类型。在这个泛型接口中,Integer表示实体类的主键类型,通常用来表示表中记录的唯一标识。

  • @Query自定义查询语句

用@Query直接在方法上定义查询语句

 @Modifying   // 添加根据主键修改学生姓名的方法
    @Transactional
    @Query("update Student s set s.name = ?1 where s.id = ?2")

    int updateStudentNameById(String name, Long id);

除了写hql,我们还可以写sql语句 

有一些情况下需要使用实体类名而不是*

1.当实体类与其关联的表有多个字段具有相同的名称时: 在这种情况下,使用*可能会导致查询的结果不明

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值