在pom.xml中添加JPA跟数据库的依赖,我选择的是mysql数据库
在配置文件中配置相关信息
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> 是一个泛型接口
形参表示
-
Student: 这是实体类的类型,通常用来表示数据库中的一张表。在这个泛型接口中,Student表示具体的实体类型,对应数据库中的表。
-
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.当实体类与其关联的表有多个字段具有相同的名称时: 在这种情况下,使用*
可能会导致查询的结果不明