JPA系列十三:JPQL-函数

1、函数
 JPQL提供了以下一些内建函数,包括字符串处理函数、算术函数和日期函数。
字符串处理函数主要有:
 concat(String s1, String s2):字符串合并/连接函数。
 substring(String s, int start, int length):取字串函数。
 trim([leading|trailing|both,] [char c,] String s):从字符串中去掉首/尾指定的字符或空格。
 lower(String s):将字符串转换成小写形式。
 upper(String s):将字符串转换成大写形式。
 length(String s):求字符串的长度。
 locate(String s1, String s2[, int start]):从第一个字符串中查找第二个字符串(子串)出现的位置。若未找到则返回0。
算术函数主要有 abs、mod、sqrt、size 等。Size 用于求集合的元素个数。
日期函数主要为三个,即 current_date、current_time、current_timestamp,它们不需要参数,返回服务器上的当前日期、时间和时戳。

//使用 jpql 内建的函数
@Test
public void testJpqlFunction(){
	String jpql = "SELECT lower(c.email) FROM Customer c";
	List<String> emails = entityManager.createQuery(jpql).getResultList();
	System.out.println(emails);
}

在这里插入图片描述
2、update语句
 update语句用于执行数据更新操作。主要用于针对单个实体类的批量更新。
 以下语句将帐户余额不足万元的客户状态设置为未偿付:
update Customers c set c.status = '未偿付' where c.balance < 10000

//可以使用 JPQL 完成 UPDATE 和 DELETE 操作.
@Test
public void testExecuteUpdate(){
	String jpql = "UPDATE Customer c SET c.lastName = ? WHERE c.id = ?";
	Query query = entityManager.createQuery(jpql).setParameter(1, "YYY").setParameter(2, 12);
	query.executeUpdate();
}

在这里插入图片描述
3、delete语句
 delete语句用于执行数据更新操作。
 以下语句删除不活跃的、没有订单的客户:
delete from Customers c where c.status = 'inactive' and c.orders is empty

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值