Spring中常用的hql查询方法(getHibernateTemplate())
来源:互联网 发布:淘宝商品链接在哪 编辑:程序博客网 时间:2024/05/01 08:22
- Spring中常用的hql查询方法(getHibernateTemplate())
- find(String hql);
- find(String hql,Object arg);
- find(hql,arg0,arg1);
- find(String hql,Object[] arg);
- ----------------------------------------------
- findByExample(Object obj,int start,int max)
- public List searchAll(){
- List list=null;
- try{
- User u=new User();
- u.setPassword("123");
- u.setName("bb");
- list=this.getHibernateTemplate().findByExample(u,start,max);
- }catch(RuntimeException re){
- throw re;
- }
- return list;
- }
- ---------------------------------------------------
- findByNamedParam的使用
- 数据库中有一表Member(id,email),已经有一条记录('123','sdf@sfd.com');
- 使用以下语句查询:
- String hql = "select count(*) from Member where email=:email and id!=:id";
- List list = this.support.getHibernateTemplate().findByNamedParam(hql,new String[] { "email", "id" },new Object[] { "sdf@sfd.com", "123"});
- System.out.println(list.get(0));
- -------------------------------------------------------
- findByNamedQueryAndNamedParam的使用
- public User loadByName(String account) throws DAOException{
- List result = getHibernateTemplate().findByNamedQueryAndNamedParam("loadUserByName", "userAccount", account);
- if (result != null ) {
- return (User)result;
- } else {
- return null;
- }
- }
- 这是在user.hbm.xml中的代码:
- <query name="loadUserByName">
- <![CDATA[select user from user as user where user.name=:userAccount]]>
- </query>