码迷,mamicode.com
首页 > 其他好文 > 详细

HQL总结

时间:2016-05-12 15:55:48      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:

Query接口,采用方法链,即它的方法会返回Query对象

1."from User where name=‘张_‘" —_表示单个字符
2.from User where name=‘%刘%‘ —-%表示任意字符
3.from User u where u.books is not empty—表示集合为空,在sql中相当于exists
4.member of—表示元素属于集合,相当于sql中的in

package com.HQL;

import java.util.List;
import java.util.Map;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
import org.hibernate.tool.hbm2ddl.SchemaExport;
import org.junit.Test;
import com.Entity.User;
import com.OTMEach.ClassRoom;
import com.OTMEach.Student;

public class HQL {

    private static Configuration cfg = null;
    private static SessionFactory sessionFactory = null;
    private static ServiceRegistry serviceRegistry = null;

    @Test
    public void test() {

        cfg = new Configuration().configure();
        serviceRegistry = new ServiceRegistryBuilder().applySettings(
                cfg.getProperties()).buildServiceRegistry();
        sessionFactory = cfg.buildSessionFactory(serviceRegistry);
        /*
         * SchemaExport schemaExport = new SchemaExport(cfg);
         * schemaExport.create(true, true);
         */
        Session session = sessionFactory.getCurrentSession();
        Transaction transaction = session.beginTransaction();


        1. /* String sql = "from User"; 
          List<User> users =session.createQuery(sql).list();
          System.out.println(users);*/


        2./*String sql = "select u.id,u.name,u.phone from User  u";
        List<Object[]> list = session.createQuery(sql).list();
        for (Object[] objs : list) {
            System.out.println("id" + objs[0]);
            System.out.println("name" + objs[1]);
            System.out.println("phone" + objs[2]);
        }*/

        3./*String sql = "select u.id from User  u";
        List<Object> list = session.createQuery(sql).list();
        for (Object  obj : list) {
            System.out.println("id" + obj);

        }*/
        4./*String sql = "select new List(u.id,u.name) from User  u";
        List<List> lists = session.createQuery(sql).list();
        for (List  list : lists) {
            System.out.println("id" + list.get(0));
            System.out.println("name" + list.get(1));

        }*/
    5./*    String sql = "select new map(u.id as id,u.name as name) from User  u";
        List<Map> lists = session.createQuery(sql).list();
        for (Map map : lists) {
            System.out.println("id" + map.get("id"));
            System.out.println("name" + map.get("name"));

        }*/
        6./*String sql = "from User  u where name=:name";
        User user = (User) session.createQuery(sql).setString("name","张三").uniqueResult();
        System.out.println(user);*/

        transaction.commit();

    }
}

HQL总结

标签:

原文地址:http://blog.csdn.net/qq_22661895/article/details/51365254

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!