SpringData关键字查询方法和自定义查询方法

Posted 鼓捣猫腻

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringData关键字查询方法和自定义查询方法相关的知识,希望对你有一定的参考价值。

一、创建项目并导入Jap相关依赖

   

1.1

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-jpa</artifactId>

</dependency>

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>druid-spring-boot-starter</artifactId>

<version>1.1.10</version>

</dependency>

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<scope>runtime</scope>

<version>5.1.27</version>

</dependency>

   

1.2

   

Application.perteries配置

   

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

spring.datasource.username=root

spring.datasource.password=123

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/jpa?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=GMT

   

#sql语句展示到控制台

spring.jpa.show-sql=true

spring.jpa.database=mysql

spring.jpa.database-platform=mysql

#ddl-auto:create----每次运行该程序,没有表格会新建表格,表内有数据会清空

#ddl-auto:create-drop----每次程序结束的时候会清空表

#ddl-auto:update----每次运行程序,没有表格会新建表格,表内有数据不会清空,只会更新

#ddl-auto:validate----运行程序会校验数据与数据库的字段类型是否相同,不同会报错

spring.jpa.hibernate.ddl-auto=update

#采用哪种方言

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL57Dialect

   

   

二、关键字查询

   

1.1

创建

   

   

   

@Entity

将实体类Book创建成表,默认不指定就是类名,name指定表名

@ID

主键

@GeneratedValue

自增长

   

1.2

   

创建

   

   

   

   

   

1.3

JAP的功能函数

   

   

在这里定义你的查询规则就ok了

   

   

   

1.3.1

保存

1.3.2

修改

注:如果数据库中没有该数据则是添加,存在则是修改

   

1.3.3

删除

   

1.3.4

   

查询太多就举例分页把

   

   

   

   

三、自定义查询

   

同样还是在BookDao里写

   

注:nativeQuery=true代表使用sql语句查询,默认使用JPA ql查询

   

   

   

   

   

四、自定义添加修改

   

BookDao

   

注:@Query @Modifying @Transactional三个注解一个不能少

   

@Modifying

对数据库修改操作

@Transactional

事务

   

图片中的两种写法都可以,第一种顺序不能颠倒

@Param不是mybatis的那个这个是jpa的

以上是关于SpringData关键字查询方法和自定义查询方法的主要内容,如果未能解决你的问题,请参考以下文章

SpringData系列四 @Query注解及@Modifying注解@Query注解及@Modifying注解

SpringData JPA之方法名查询的关键字表

Spring Data JPA方法定义规范

SpringData学习02

jparepository 怎样自定义查询

扩展 IdentityUser 和自定义查询的 Web API