首页 > HibernateTemplate 查询

HibernateTemplate 查询

Spring中常用的hql查询方法getHibernateTemplate()上 

  

  一、find(String queryString); 

  示例:this.getHibernateTemplate().find("from bean.User");

  返回所有User对象

  

  二、find(String queryString , Object value);

  示例:this.getHibernateTemplate().find("from bean.User u where u.name=?", "test");

  或模糊查询:this.getHibernateTemplate().find("from bean.User u where u.name like ?", "%test%");

  返回name属性值为test的对象(模糊查询,返回name属性值包含test的对象)

  

  三、find(String queryString, Object[] values);

  示例:String hql= "from bean.User u where u.name=? and u.password=?"

  this.getHibernateTemplate().find(hql, new String[]{"test", "123"});

  返回用户名为test并且密码为123的所有User对象

  

  ---------------------------------

  

  四、findByExample(Object exampleEntity)

  示例: User u=new User(); 

  u.setPassword("123");//必须符合的条件但是这两个条件时并列的(象当于sql中的and) 

  u.setName("bb"); 

  list=this.getHibernateTemplate().findByExample(u,start,max); 

  返回:用户名为bb密码为123的对象

  

  五、findByExample(Object exampleEntity, int firstResult, int maxResults)

  示例: User u=new User(); 

  u.setPassword("123");//必须 符合的条件但是这两个条件时并列的(象当于sql中的and) 

  u.setName("bb"); 

  list=this.getHibernateTemplate().findByExample(u,start,max); 

  返回:满足用户名为bb密码为123,自start起共max个User对象。(对象从0开始计数) 

  

  六、findByNamedParam(String queryString , String paramName , Object value)

  使用以下语句查询: 

  String queryString = "select count(*) from bean.User u where u.name=:myName"; 

  String paramName= "myName";

  String value= "xiyue";

  this.getHibernateTemplate().findByNamedParam(queryString, paramName, value); 

  System.out.println(list.get(0)); 

  返回name为xiyue的User对象的条数

  

  七、findByNamedParam(String queryString , String[] paramName , Object[] value)

  示例: String queryString = "select count(*) from bean.User u where u.name=:myName and u.password=:myPassword"; 

  String[] paramName= new String[]{"myName", "myPassword"};

  String[] value= new String[]{"xiyue", "123"};

  this.getHibernateTemplate().findByNamedParam(queryString, paramName, value);

  返回用户名为xiyue密码为123的User对象

  

  八、findByNamedQuery(String queryName)

  

  示例: 1、首先需要在User.hbm.xml中定义命名查询

  

  

  ......

  

  queryAllUser">

  

  

  from bean.User

  

  ]]>



    2、使用查询:  

  this.getHibernateTemplate().findByNamedQuery("queryAllUser");

  

  九、findByNamedQuery(String queryName, Object value) 

  

  示例: 1、首先需要在User.hbm.xml中定义命名查询 

  ...... 

  

  queryByName">   

  

  from bean.User u where u.name = ? ]]> 

  

  

  2、使用查询:   

  this.getHibernateTemplate().findByNamedQuery("queryByName", "test"); 

转载于:https://www.cnblogs.com/toSeeMyDream/p/4096601.html

更多相关:

  • importjava.security.SecureRandom;importjavax.crypto.Cipher;importjavax.crypto.SecretKey;importjavax.crypto.SecretKeyFactory;importjavax.crypto.spec.DESKeySpec;//结果与DES算...

  • 题目:替换空格 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 输入:s = "We are happy." 输出:"We%20are%20happy." 限制: 0 <= s 的长度 <= 10000 解题: 时间复杂度:O(n) 空间复杂度:O(n) class Solution { public:s...

  • 在C++11标准库中,string.h已经添加了to_string方法,方便从其他类型(如整形)快速转换成字面值。 例如: for (size_t i = 0; i < texArrSize; i++)RTX_Shader.SetInt(string("TexArr[") + to_string(i) + "]", 7 + i);...

  • Ubuntu 14.04安装并升级之后,变成楷体字体非常难看,我昨天搞了一晚上,终于理了个头绪,这里整理一下。 经过网上调研,大家的一致看法是,使用开源字体库文泉驿的微黑字体效果比较理想,甚至效果不输windows平台的雅黑字体。下面我打算微黑来美化Ubuntu 14.04. 1.安装文泉驿微黑字体库 sudo aptitude...

  • 使用string时发现了一些坑。 我们知道stl 容器并不是线程安全的,所以在使用它们的过程中往往需要一些同步机制来保证并发场景下的同步更新。 应该踩的坑还是一个不拉的踩了进去,所以还是记录一下吧。 string作为一个容器,随着我们的append 或者 针对string的+ 操作都会让string内部的数据域动态增加,而动态增加的...