Hibernate的几种查询方式

1、本地SQL查询
         session.createSQLQuery(""),即写入原始的sql语句,就不多说了


2、OID查询

             数据库表根据其id查询的时候,比较好用
        Staffinfo is = (Staffinfo)session.get(Staffinfo.class, "1000");
        System.out.p
rintln(is.getStaffName());  
3、HQL查询

           在查询方面灵活性最大

           1、hql的参数绑定:

List list = session.createQuery("from Accountinfo where id =:id").setParameter("id", "1").list();
System.out.println(list.size());

              同时还有一种方法就是将参数绑定到配置文件中去(个人感觉比较推荐):

在相应的pojo中找到对应的类(Accountinfo)加入代码(注意配置写在class后面):<query name="myExample">
                                                                                                  <![CDATA[
                                                                                                             from Accountinfo where id =:id
                                                                                                     ]]>
                                                                                          </query>

再在sql语句中写:

List list = session.getNamedQuery("myExample").setParameter("id", 1).list();

             2、hql的多表查询:

    //HQL(多表查询并封装对象)
             String str = "select new com.cwtym.vo.Example(c.lendDirection, a.id) from Cashregister c, Accountinfo a where a.id=c.accountCode";
             Query query = session.createQuery(str);
             List list = query.list();
             System.out.println(list.size());

      Example类

public class Example {                                                                                                   
	private String a;                                                                                                    
	private String b;                                                                                                    
	public Example(String a, String b) {                                                                                 
		super();                                                                                                         
		this.a = a;                                                                                                      
		this.b = b;                                                                                                      
	}                                                                                                                    
	public String getA() {                                                                                               
		return a;                                                                                                        
	}                                                                                                                    
	public void setA(String a) {                                                                                         
		this.a = a;                                                                                                      
	}                                                                                                                    
	public String getB() {                                                                                               
		return b;                                                                                                        
	}                                                                                                                    
	public void setB(String b) {                                                                                         
		this.b = b;                                                                                                      
	}                                                                                                                    
	                                                                                                                     
	                                                                                                                
}  

 

4、QBC查询

        只是个人挺常用

Session session = HibernateSessionFactory.getSession();
        Criteria c = session.createCriteria(Userinfo.class);
        c.add(Restrictions.eq("email", emailId));
        Userinfo userinfo = (Userinfo)c.uniqueResult();

 

5、QBE查询

   根据例子查询,不是很清楚,目前为止还没有用过。


 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值