یه تابستون متفاوت با یه تصمیم هوشمندانه! دوره هوش مصنوعی با تخفیف ویژه، فقط با کد AI84 دوره هوش مصنوعی با تخفیف ویژه، فقط با کد AI84
🎯 ثبت نام

درس 34 : آموزش زبان کار با پایگاه داده HQL در Hibernate

آموزش زبان کار با پایگاه داده HQL در Hibernate :

زبان کار با پایگاه داده در Hibernate یا Hibernate Query Language که ساختار HQL نامیده می شود، کاملا شبیه زبان SQL بوده با این تفاوت که زبان HQL مبتنی بر جدول پایگاه داده نیست. به جای استفاده از نام جدول در HQL ما از نام کلاس استفاده می کنیم. بنابراین HQL یک زبان مستقل از پایگاه داده می باشد.

مزایای استفاده از HQL :

استفاده از HQL یا Hibernate Query Language مزایای زیادی دارد که از آن جمله می توان به موارد زیر اشاره کرد :

  • مستقل از پایگاه داده یا data base independent.
  • پشتیبانی از Polymorphic Quercy یا جستجوی چندگانه.
  • امکان یادگیری ساده و آسان برای برنامه نویسان جاوا.

رابط کاربری Query Interface :

Query Interface یک نسخه شی گرا از زبان Hibernate Query است. شی یا object متعلق به Query را می توان با فراخوانی متد Create Query() در Session Interface ایجاد کرد.
Query Interface متدهای زیادی را برای کار با داده فراهم کرده است. لیست زیر پرکاربردترین آن ها را نام می برد :

  • متد public int execute Update() : این متد برای Update یا Delate یک Query به کار می رود.
  • متد Public List list() : این متد نتایج حاصل از Query یا رابطه را به صورت list بر می گرداند.
  • متد public Query setMax Result() : این متد تعداد رکوردهایی که بایستی از رابطه (جدول پایگاه داده) استخراج شود را تعیین می کند.
  • متد public Query First Result (int rowno) : این متد، شماره رکوردی که بایستی اطلاعات رابطه یا جدول پایگاه داده از آنجا به بعد استخراج شود را تعیین می کند.
  • متد public Query set Parameter (int position, Object value) : این متد مقدار value را در JDBC style Query تعیین می کند.
  • متد public Queryset Parameter (String name, Object value) : این متد مقدار value را به یک named Query Parameter .ارسال می کند

کد مثال دریافت اطلاعات کلید رکوردها با استفاده از HQL :

1
2
3
Query query=session.createQuery("from Emp");//here persistent class name is Emp 
List list=query.list();
            <button></button>

کد مثال دریافت اطلاعات کلیه رکوردها با استفاده از HQL و صفحه بندی نتایج :

1
2
3
4
5
6
Query query=session.createQuery("from Emp"); 
query.setFirstResult(5); 
query.setMaxResult(10); 
List list=query.list();
//will return the records from 5 to 10th number 
            <button></button>

کد مثال HQL Update Query :

1
2
3
4
5
6
7
8
9
Transaction tx=session.beginTransaction(); 
Query q=session.createQuery("update User set name=:n where id=:i"); 
q.setParameter("n","Udit Kumar"); 
q.setParameter("i",111); 
   
int status=q.executeUpdate(); 
System.out.println(status); 
tx.commit();
            <button></button>

کد مثال HQL delete Query :

1
2
3
4
Query query=session.createQuery("delete from Emp where id=100"); 
//specifying class name (Emp) not tablename 
query.executeUpdate(); 
            <button></button>

استفاده از توابع ریاضی در HQL :

شما می توانید از توابع محاسباتی و ریاضی در HQL استفاده کنید. در ادامه مثال هایی برای استفاده از این توابع ارائه شده است :

کد مثال محاسبه حقوق کلیه کارمندان :

1
2
3
4
5
6
7
Query q=session.createQuery("select sum(salary) from Emp"); 
List<emp> list=q.list(); 
    Iterator<emp> itr=list.iterator(); 
    while(itr.hasNext()){ 
        System.out.println(itr.next()); 
            </emp></emp><button></button>

کد مثال یافتن بالاترین میزان حقوق در کارمندان :

1
2
Query q=session.createQuery("select max(salary) from Emp"); 
            <button></button>

کد مثال یافتن کمترین میزان حقوق در کارمندان :

1
2
Query q=session.createQuery("select min(salary) from Emp"); 
            <button></button>

کد مثال محاسبه تعداد کارمندان در HQL :

1
2
Query q=session.createQuery("select count(id) from Emp"); 
            <button></button>

کد مثال یافتن میانگین حقوق کارمندان در HQL :

1
2
Query q=session.createQuery("select avg(salary) from Emp"); 
            <button></button>
1395/07/12 3644 952
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...