Spring_data_JPA教程(Gradle构建)

1,使用spring initializr 创建Gradle项目,其中语言选择Java,构建工具选择Gradle

2,创建出项目之后创建实体类User;

 

@Entity  //JPA中此注解表示是一个实体
@Table(name = "user")  // 指定表明,
@Data  //lombook注解,选择使用
@ToString  //同上
public class User {
    @Id   //表中主键
    @GeneratedValue(strategy = GenerationType.AUTO)   //主键生成策略
    private  Integer  id;
    @Column  //普通的列,其中也可设置其他属性
    private  String  name ;


    @Column
    private  Integer  age;
}

 

 

3,创建此实体类对应的Dao层

//当此类实现JpaRepository接口之后,不加此注解也可以将此类对象加入Spring容器中
@Repository  
//JpaRepository中的泛型,第一个是此dao对应的实体类型,第二个是实体的主键类型
public interface UserDao extends JpaRepository<User,Integer> {



}

4,如果使用简单得查询,可以使用JPA自带的一些对单表增删改查方法进行查询!如以下方法都是JPA已经提供方法,可以直接使用!

userDao.delete();
userDao.save();
userDao.deleteById();

5,如果简单的增删改查已经不能满足你的需求,比如你想通过name和Age做查询,此时你可以按照如下方法编写代码!

//当此类实现JpaRepository接口之后不加此注解也可以将此类对象加入Spring容器中
@Repository  
//JpaRepository中的泛型,第一个是此dao对应的实体类型,第二个是实体的主键类型
public interface UserDao extends JpaRepository<User,Integer> {
	
    
    //你可以使用条件去构建一个方法名称,如下名字将会通过你传入的name和Age进行查询
    //但是你的方法名需要杨按照JPA的要求进行构建
    List<User>  findByNameAndAge(String  name,Integer  age);

	
}

第一次看到这玩意的时候,简直是不我了个大草了!挺BT!

下边是JPA中查询方法的命名规范!

关键字

方法命名

sql where字句

And

findByNameAndPwd

where name= ? and pwd =?

Or

findByNameOrSex

where name= ? or sex=?

Is,Equals

findById,findByIdEquals

where id= ?

Between

findByIdBetween

where id between ? and ?

LessThan

findByIdLessThan

where id < ?

LessThanEquals

findByIdLessThanEquals

where id <= ?

GreaterThan

findByIdGreaterThan

where id > ?

GreaterThanEquals

findByIdGreaterThanEquals

where id > = ?

After

findByIdAfter

where id > ?

Before

findByIdBefore

where id < ?

IsNull

findByNameIsNull

where name is null

isNotNull,NotNull

findByNameNotNull

where name is not null

Like

findByNameLike

where name like ?

NotLike

findByNameNotLike

where name not like ?

StartingWith

findByNameStartingWith

where name like '?%'

EndingWith

findByNameEndingWith

where name like '%?'

Containing

findByNameContaining

where name like '%?%'

OrderBy

findByIdOrderByXDesc

where id=? order by x desc

Not

findByNameNot

where name <> ?

In

findByIdIn(Collection<?> c)

where id in (?)

NotIn

findByIdNotIn(Collection<?> c)

where id not in (?)

True

findByAaaTue

where aaa = true

False

findByAaaFalse

where aaa = false

IgnoreCase

findByNameIgnoreCase

where UPPER(name)=UPPER(?)

6,如果需要更加复杂sql 或者是mybatis的习惯使用者,习惯手写sql的同志可以使用如下方法

//当此类实现JpaRepository接口之后不加此注解也可以将此类对象加入Spring容器中
@Repository  
//JpaRepository中的泛型,第一个是此dao对应的实体类型,第二个是实体的主键类型
public interface UserDao extends JpaRepository<User,Integer> {
	
    
    //加上@Query并且nativeQuery = true之后可以手写sql,
    @Query(value = "select * from user" ,nativeQuery = true)
    List<User>  method1();
	
    
    //如果有传入的参数可以使用'?'来获取参数的值或者method3这种形式
    @Query(value = "select * from user  where  id  >  ?1" ,nativeQuery = true)
    List<User>  method2(Integer id);
    
    
    //如果有传入的参数可以使用'?'来获取参数的值或者method3这种形式
    @Query(value = "select * from user  where  id  >  :id" ,nativeQuery = true)
    List<User>  method2(@Param("id")Integer id);
}	
 

以上就是SpringDataJPA的简单教程,如有问题欢迎指正!下一篇说一下 JPA的复杂操作和连表查询!

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
注:下文中的 *** 代表文件名中的组件名称。 # 包含: 中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【***.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【***-sources.jar下载地址(官方地址+国内镜像地址).txt】 # 本文件关键字: 中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·本文档为双语同时展示,一行原文、一行译文,可逐行对照,避免了原文/译文来回切换的麻烦; ·有原文可参照,不再担心翻译偏差误导; ·边学技术、边学英语。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
Spring Data JPA 是一个用于简化数据库访问的框架,它基于 JPA (Java Persistence API) 规范,提供了一种更简单、更高效的方式来访问和操作数据库。 下面是使用 Spring Data JPA 的一般步骤: 1. 添加依赖:在你的项目中,添加 Spring Data JPA 的依赖。你可以在 Maven 或 Gradle 配置文件中添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> ``` 2. 配置数据库连接:在 `application.properties` 或 `application.yml` 文件中配置数据库连接信息,包括数据库 URL、用户名、密码等。 3. 创建实体类:创建与数据库表对应的实体类,并使用 JPA 注解来映射实体类与数据库表之间的关系。 ```java @Entity @Table(name = "users") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private Integer age; // getters and setters } ``` 4. 创建 Repository 接口:创建一个继承自 `JpaRepository` 的接口,并通过方法命名规则或自定义查询方法来定义数据库操作。 ```java public interface UserRepository extends JpaRepository<User, Long> { List<User> findByAgeGreaterThan(Integer age); } ``` 5. 使用 Repository:在需要访问数据库的地方,注入 Repository 接口,并调用其中的方法进行数据库操作。 ```java @Service public class UserService { @Autowired private UserRepository userRepository; public List<User> getUsersByAgeGreaterThan(Integer age) { return userRepository.findByAgeGreaterThan(age); } } ``` 这只是 Spring Data JPA 的基本用法,你还可以使用更高级的特性,如分页、排序、复杂查询等。希望这些信息对你有帮助!如果你有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值