SpringDataJPA(11)SpringDataJPA复杂查询:方法命名规则查询

0. 规则

是对jpql查询,更加深入一层的封装
	我们只需要按照SpringDataJpa提供的方法名称规则定义方法,不需要再配置jpql语句,完成查询
		findBy开头:	代表查询
			对象中属性名称(首字母大写)
		含义:根据属性名称进行查询

方法名的约定:
	findBy :查询
		对象中的属性名(首字母大写) :查询的条件
			比如想要通过custName去查询便使用findByCustName:根据客户名称查询
				默认情况:使用等于的方式查询
				特殊的查询方式:

在springdataJpa的运行阶段,会根据方法名称进行解析findByCustName
	解析为:from xxx(实体类)   where  custName =
		其中:
			findBy   :from xxx(实体类)
			属性名称:where  custName =
默认情况:findBy + 属性名称(根据属性 名称进行完成匹配的查询=)
	如:findByCustName
特殊情况:findBy +属性名称+“查询方式(Like| isnull)”
	如“:findByCustNameL ike
多条件查询:findBy + 属性名 + "查询方式" + “多条件连接符(and | or)” + 属性名 +  "查询方式" 

1. 基本查询

在SpringDataJPA(9)中,1中的dao中添加如下方法(在这里我便不将所有的代码复制了)

public Customer findByCustName(String custName);

在SpringDataJPA(9)中,1中的测试类中添加如下方法(在这里我便不讲所有的代码复制了)

@Test
    public void testFindByName(){
        Customer customer = customerDao.findByCustName("更新后的结果");
        System.out.println(customer);
    }

运行结果:

在这里插入图片描述

2. 模糊查询

在SpringDataJPA(9)中,1中的dao中添加如下方法(在这里我便不将所有的代码复制了)

public List<Customer> findByCustNameLike(String custName);

在SpringDataJPA(9)中,1中的测试类中添加如下方法(在这里我便不讲所有的代码复制了)

@Test
    public void testFindConditionLike(){
        List<Customer> list = customerDao.findByCustNameLike("延%");
        for (Customer customer:list){
            System.out.println(customer);
        }
    }

运行结果:

在这里插入图片描述

3. 多条件查询

在SpringDataJPA(9)中,1中的dao中添加如下方法(在这里我便不将所有的代码复制了)

//使用客户名称模糊匹配和客户的industry精准匹配的查询
    //这时候参数的顺序不能有误
    public Customer findByCustNameLikeAndCustIndustry(String custName,String custIndustry);

在SpringDataJPA(9)中,1中的测试类中添加如下方法(在这里我便不讲所有的代码复制了)

@Test
    public void testMore(){
        Customer name = customerDao.findByCustNameLikeAndCustIndustry("延%", "学");
        System.out.println(name);
    }

运行结果:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

?abc!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值