hibernate3 查询表 返回list集合

来源:互联网 发布:2016开淘宝店卖什么 编辑:程序博客网 时间:2024/06/17 16:28

1.查询实体

public void Test1() throws Exception{           Configuration config=new Configuration().configure();        SessionFactory sessionFactory= config.buildSessionFactory();        Session session=null;        Transaction tr=null;        try{            session= sessionFactory.openSession();            tr=session.beginTransaction();           String hql="from Dept";                                   //定义String类型hql,写入hql语句。                  Query query=session.createQuery(hql);                                  List<Dept> list = query.list();                                      for(Dept dept:list){                                                     System.out.print("部门编号:  "+dept.getDid() +"   ");                 System.out.println("部门名称:   "+dept.getDname());               }                                                                    tr.commit();                                                     }catch(Exception e){            tr.rollback();        }finally{            if(session!=null){                session.close();            }            if(sessionFactory!=null){                sessionFactory.close();            }        }    }

2.查询单个属性:

public void Test2() throws Exception{         Configuration config=new Configuration().configure();        SessionFactory sessionFactory= config.buildSessionFactory();        Session session=null;        Transaction tr=null;        try{            session= sessionFactory.openSession();            tr=session.beginTransaction();            Query query=session.createQuery("select dname from Dept");               List<String> list = query.list();                                        for(String name:list){                                                       System.out.println("部门名称: "+name);                               }                                                                                                        tr.commit();        }catch(Exception e){            tr.rollback();        }finally{            if(session!=null){                session.close();            }            if(sessionFactory!=null){                sessionFactory.close();            }        }    }

3.查询多个属性:

public void Test3() throws Exception{        Configuration config=new Configuration().configure();        SessionFactory sessionFactory= config.buildSessionFactory();        Session session=null;        Transaction tr=null;        try{            session= sessionFactory.openSession();            tr=session.beginTransaction();            Query query=session.createQuery("select ename,eage from Emp");                List<Object[]> list = query.list();                               //对多个属性查询的时候,使用Obejct数组。            for(Object[] message:list){                                                       System.out.println(Arrays.toString(message));                 //采用辅助类Arrays的toString()方法打印数组。            }                                                                                                               tr.commit();        }catch(Exception e){            tr.rollback();        }finally{            if(session!=null){                session.close();            }            if(sessionFactory!=null){                sessionFactory.close();            }        }    }

4.通过实体类查询:

public class Emp {   private int eid;   private int eage;   private float esal;   private String ename;   省略get,set方法。public Emp() {    super();   }public Emp(int eage, String ename) {    //需要查询的属性是什么,构造器的参数就是什么。    super();    this.eage = eage;    this.ename = ename;}
public void Test4() throws Exception{         Configuration config=new Configuration().configure();        SessionFactory sessionFactory= config.buildSessionFactory();        Session session=null;        Transaction tr=null;        try{            session= sessionFactory.openSession();            tr=session.beginTransaction();            Query query=session.createQuery("select new Emp(eage,ename) from Emp e");     select 后直接调用构造器,参数就是查询的属性,参数不可错乱。            List<Emp> list = query.list();                                                此处不实用object数组,类类型即可            for(Emp message:list){                                                                        System.out.print("姓名:"+message.getEname()+"  ");                                        System.out.println("年龄:"+message.getEage());                                        }                                                                                                         tr.commit();        }catch(Exception e){            tr.rollback();        }finally{            if(session!=null){                session.close();            }            if(sessionFactory!=null){                sessionFactory.close();            }        }    }






























































</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><pre class="java" name="code">


</pre><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><strong></strong><p></p><p></p><pre class="java" name="code">public void Test3() throws Exception{        Configuration config=new Configuration().configure();        SessionFactory sessionFactory= config.buildSessionFactory();        Session session=null;        Transaction tr=null;        try{            session= sessionFactory.openSession();            tr=session.beginTransaction();            Query query=session.createQuery("select ename,eage from Emp");                List<Object[]> list = query.list();                               //对多个属性查询的时候,使用Obejct数组。            for(Object[] message:list){                                                       System.out.println(Arrays.toString(message));                 //采用辅助类Arrays的toString()方法打印数组。            }                                                                                                               tr.commit();        }catch(Exception e){            tr.rollback();        }finally{            if(session!=null){                session.close();            }            if(sessionFactory!=null){                sessionFactory.close();            }        }    }




0 0
原创粉丝点击