基于JPQL實(shí)現(xiàn)純SQL語句方法詳解
JPQL全稱Java Persistence Query Language。
基于首次在EJB2.0中引入的EJB查詢語言(EJB QL),Java持久化查詢語言(JPQL)是一種可移植的查詢語言,旨在以面向?qū)ο蟊磉_(dá)式語言的表達(dá)式,將SQL語法和簡單查詢語義綁定在一起·使用這種語言編寫的查詢是可移植的,可以被編譯成所有主流數(shù)據(jù)庫服務(wù)器上的SQL。
其特征與原生SQL語句類似,并且完全面向?qū)ο?,通過類名和屬性訪問,而不是表名和表的屬性。
使用JPQL,需要把SQL語句修改成類似HQL 語句。SQL 查詢的是數(shù)據(jù)庫,而JPQL 查詢的是對象和屬性,在語法上是有些不同的。對于有些用JPQL 無法寫出來的查詢,還是使用原生SQL寫出來方便
以下給出一個例子,注意語法的區(qū)別:
JPQL查詢
@PersistenceContext protected EntityManager em; public List<Video> findVideoList1() { String hql = "from Video order by id desc"; Query query = em.createQuery(hql); List<Video> result = query.getResultList(); em.clear(); return result; }
SQL查詢
查詢最近7天的數(shù)據(jù)
public List<Video> findVideoList2() { List<Video> result = (List<Video>) em.createNativeQuery ("select * from db_video where date_sub(curdate(), interval 6 day) <= date(date) order by date desc", Video.class) .getResultList(); return result; }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JPA之使用JPQL語句進(jìn)行增刪改查
- mysql5.7.19 解壓版安裝教程詳解(附送純凈破解中文版SQLYog)
- 純Python開發(fā)的nosql數(shù)據(jù)庫CodernityDB介紹和使用實(shí)例
- 3步搞定純真IP數(shù)據(jù)導(dǎo)入到MySQL的方法詳解
- 用純CSS+DIV寫的漂亮Flash幻燈片及SQL標(biāo)簽教程!
- SQL刪除語句DROP、TRUNCATE、 DELETE 的區(qū)別
- mybatis-plus配置控制臺打印完整帶參數(shù)SQL語句的實(shí)現(xiàn)
- 在IDEA中安裝MyBatis Log Plugin插件,執(zhí)行mybatis的sql語句(推薦)
相關(guān)文章
mysql 主從數(shù)據(jù)不一致,提示: Slave_SQL_Running: No 的解決方法
這篇文章主要介紹了mysql 主從數(shù)據(jù)不一致,提示: Slave_SQL_Running: No 的解決方法,總結(jié)分析了MySQL主從數(shù)據(jù)不一致的原因與常見處理技巧,需要的朋友可以參考下2020-02-02CentOS7.2虛擬機(jī)上安裝MySQL 5.6.32的教程
這篇文章主要介紹了CentOS7.2虛擬機(jī)上安裝MySQL 5.6.32的教程的相關(guān)資料,需要的朋友可以參考下2016-08-08詳解Ubuntu Server下啟動/停止/重啟MySQL數(shù)據(jù)庫的三種方式
本篇文章主要介紹了buntu Server下啟動/停止/重啟MySQL數(shù)據(jù)庫的三種方式,具有一定的參考價(jià)值,有興趣的可以了解一下。2017-01-01MySQL多線程復(fù)制遇到Error_code: 1872的解決方案
本文給大家分享的是在使用mysql主從復(fù)制的時候遇到Error_code: 1872錯誤的解決方法,非常的簡單,有需要的小伙伴可以參考下2016-09-09mysql如何增加數(shù)據(jù)表的字段(ALTER)
這篇文章主要介紹了mysql如何增加數(shù)據(jù)表的字段(ALTER),具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11SQL中distinct去重關(guān)鍵字使用和count統(tǒng)計(jì)組合使用方法
這篇文章主要給大家介紹了關(guān)于SQL中distinct去重關(guān)鍵字使用和count統(tǒng)計(jì)組合使用的相關(guān)資料,count()是SQL中提供的用于統(tǒng)計(jì)記錄數(shù)量的函數(shù),需要的朋友可以參考下2024-08-08MySQL性能優(yōu)化配置參數(shù)之thread_cache和table_cache詳解
這篇文章主要介紹了MySQL性能優(yōu)化配置參數(shù)之thread_cache和table_cache詳解,THREAD_CACHE是Mysql的連接池,table_cache指定表高速緩存的大小,需要的朋友可以參考下2014-07-07