1....创建步骤:练习使用

    1... 创建 maven工程 

    2...添加依赖  mysql   c3p0 hibernate  springDataJpa   spring相关的包

    3...创建 配置文件          员(数据源)工(工程类对象)是(事物)爹(dao 扫描器)

    4... 创建实体类  

    5... 创建dao 接口  继承 JapRespository

2....五种查询方式

(1) crud

    添加/修改 数据 save 方法

​     删除数据 delete 方法

​     查询 :findOne.  getOne 方法

    ​ 查询全部 findAll() 方法

​     findAll(Pageable pageaable) 返回Page对象 进行分页  排序

(2) 在springDataJpa框架使用Jpql 查询 

    a: 在dao 接口中定义一个方法 使用方法的参数设置jpql的参数 并且使用方法的返回值接受查询的结果

​     b: 在方法上添加一个注解Qquery

​     c 在注解中编写jpql

​     d 测试

(3)使用原生的Sql语句

    1 dao中 定义一个方法

​     2 在方法中添加@Query注解

​     3 在注解中 添加 原生的sql 语句 添加一个属性 nativeQuery=true

​     4 测试

(4)方法命名规则查询

      通过一定的规则 定义一个方法 框架本省就可以根据方法名生成一个SQL语句进行查询

  ​ 规则:

​     1 使用findBy开头

​     2 查询某个字段 findBy后跟实体类的属性的名称

​     3 如果有多个条件 就在方法后加And+实体类的属性名

​     4 方法的参数 对应查询的定义

​     5 返回值根据返回的数据类型定义

    如果需要分页查询 在方法中添加一个参数Pageable 即可

5)使用Specification方式进行查询

       最强大的查询方式 除了原生的SQL 语句以外 最复杂的查询方式

   使用方式:

​     1 要在dao 继承JpaSeciFicationExection 接口

​     2 使用JpaSeciFicationExection 接口 中提供的方法进行查询

​     每个方法都需要使用Specification对象作为参数

 

具体实现:::

1...pom.xml 配置

  1 <?xml version="1.0" encoding="UTF-8"?>
  2 <project xmlns="http://maven.apache.org/POM/4.0.0"
  3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5     <modelVersion>4.0.0</modelVersion>
  6 
  7     <groupId>com.wsc</groupId>
  8     <artifactId>springdatalpa01</artifactId>
  9     <version>1.0-SNAPSHOT</version>
 10 
 11 
 12     <properties>
 13         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 14         <maven.compiler.source>1.8</maven.compiler.source>
 15         <maven.compiler.target>1.8</maven.compiler.target>
 16         <spring.version>4.2.4.RELEASE</spring.version>
 17         <hibernate.version>5.0.7.Final</hibernate.version>
 18         <slf4j.version>1.6.6</slf4j.version>
 19         <log4j.version>1.2.12</log4j.version>
 20         <c3p0.version>0.9.1.2</c3p0.version>
 21         <mysql.version>5.1.6</mysql.version>
 22     </properties>
 23     <dependencies>
 24         <dependency>
 25             <groupId>junit</groupId>
 26             <artifactId>junit</artifactId>
 27             <version>4.12</version>
 28             <scope>test</scope>
 29         </dependency>
 30         <!--spring start-->
 31         <dependency>
 32             <groupId>org.aspectj</groupId>
 33             <artifactId>aspectjweaver</artifactId>
 34             <version>1.6.8</version>
 35         </dependency>
 36         <dependency>
 37             <groupId>org.springframework</groupId>
 38             <artifactId>spring-aop</artifactId>
 39             <version>${spring.version}</version>
 40         </dependency>
 41         <dependency>
 42             <groupId>org.springframework</groupId>
 43             <artifactId>spring-context</artifactId>
 44             <version>${spring.version}</version>
 45         </dependency>
 46         <dependency>
 47             <groupId>org.springframework</groupId>
 48             <artifactId>spring-context-support</artifactId>
 49             <version>${spring.version}</version>
 50         </dependency>
 51         <dependency>
 52             <groupId>org.springframework</groupId>
 53             <artifactId>spring-orm</artifactId>
 54             <version>${spring.version}</version>
 55         </dependency>
 56         <dependency>
 57             <groupId>org.springframework</groupId>
 58             <artifactId>spring-beans</artifactId>
 59             <version>${spring.version}</version>
 60         </dependency>
 61         <dependency>
 62             <groupId>org.springframework</groupId>
 63             <artifactId>spring-core</artifactId>
 64             <version>${spring.version}</version>
 65         </dependency>
 66         <!--spring end-->
 67         <!--hibernate start-->
 68         <dependency>
 69             <groupId>org.hibernate</groupId>
 70             <artifactId>hibernate-core</artifactId>
 71             <version>${hibernate.version}</version>
 72         </dependency>
 73         <dependency>
 74             <groupId>org.hibernate</groupId>
 75             <artifactId>hibernate-entitymanager</artifactId>
 76             <version>${hibernate.version}</version>
 77         </dependency>
 78         <dependency>
 79             <groupId>org.hibernate</groupId>
 80             <artifactId>hibernate-validator</artifactId>
 81             <version>5.2.1.Final</version>
 82         </dependency>
 83         <!--hibernate end-->
 84         <dependency>
 85             <groupId>c3p0</groupId>
 86             <artifactId>c3p0</artifactId>
 87             <version>${c3p0.version}</version>
 88         </dependency>
 89         <dependency>
 90             <groupId>log4j</groupId>
 91             <artifactId>log4j</artifactId>
 92             <version>${log4j.version}</version>
 93         </dependency>
 94         <dependency>
 95             <groupId>org.slf4j</groupId>
 96             <artifactId>slf4j-api</artifactId>
 97             <version>${slf4j.version}</version>
 98         </dependency>
 99         <dependency>
100             <groupId>org.slf4j</groupId>
101             <artifactId>slf4j-log4j12</artifactId>
102             <version>${slf4j.version}</version>
103         </dependency>
104         <dependency>
105             <groupId>mysql</groupId>
106             <artifactId>mysql-connector-java</artifactId>
107             <version>${mysql.version}</version>
108         </dependency>
109         <dependency>
110             <groupId>org.springframework.data</groupId>
111             <artifactId>spring-data-jpa</artifactId>
112             <version>1.9.0.RELEASE</version>
113         </dependency>
114         <dependency>
115             <groupId>org.springframework</groupId>
116             <artifactId>spring-test</artifactId>
117             <version>4.2.4.RELEASE</version>
118         </dependency>
119         <dependency>
120             <groupId>javax.el</groupId>
121             <artifactId>javax.el-api</artifactId>
122             <version>2.2.4</version>
123         </dependency>
124         <dependency>
125             <groupId>org.glassfish.web</groupId>
126             <artifactId>javax.el</artifactId>
127             <version>2.2.4</version>
128         </dependency>
129     </dependencies>
130 </project>
pom.xml

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-22
  • 2022-12-23
  • 2021-11-12
  • 2021-05-21
猜你喜欢
  • 2021-06-20
  • 2022-12-23
  • 2022-12-23
  • 2021-12-06
  • 2022-12-23
  • 2022-12-23
  • 2021-10-07
相关资源
相似解决方案