zoukankan      html  css  js  c++  java
  • HibernateTemplate方法的使用

    1、查询帖子(Post)为例

    查找所有的帖子

        public List<Post> findPosts() {
            String hql = "from Post p left join fetch p.user";
            List<Post> list= null;
            list = (List<Post>) this.ht.find(hql);
            return list;
        }
        @Transactional(propagation=Propagation.REQUIRED)
        public List<Post> findPosts2() {
            List<Post> list= null;
            DetachedCriteria dc = DetachedCriteria.forClass(Post.class);
            list = (List<Post>) this.ht.findByCriteria(dc);
            return list;
        }    
        @Transactional(propagation=Propagation.REQUIRED)
        public List<Post> findPosts3() {
            List<Post> list= null;
            list = (List<Post>) this.ht.findByExample(new Post());
            return list;
        }

    特定条件查询

      @Transactional(propagation= Propagation.REQUIRED)
        public List<Post> findPostByUser(String userid) {
            String hql = "from Post p where p.user.userid = :userid";
            List<Post> list= null;
            try{
            list = (List<Post>) this.ht.findByNamedParam(hql, "userid",userid);//list = (List<Post>) this.ht.findByNamedParam(hql, new String[]{"userid"},new String[]{userid})
    }catch(Exception e){ e.printStackTrace(); } return list; }

    分页查询

        @Transactional(propagation=Propagation.REQUIRED)
        public List<Post> findPosts(int start,int limit) {
            String hql = "from Post p left join fetch p.user";
            List<Post> list= null;
            DetachedCriteria dc = DetachedCriteria.forClass(Post.class);
            list = (List<Post>) this.ht.findByCriteria(dc, start, limit);//this.ht.findByExample(new Post(), start, limit);
            return list;
        }

     原生的sql查询(返回的是object数组)

         @Transactional(propagation=Propagation.REQUIRED)
        public List<Post> findPosts4() {
            String sql = "select * from post";
            List<Post> list= null;
            list = (List<Post>) this.ht.getSessionFactory().getCurrentSession().createSQLQuery(sql).list();
            return list;
        }
            
  • 相关阅读:
    wso2使用
    wso2安装
    CLR 编译函数的两种结果的原因
    hduoj4311
    通过Git在本地局域网中的两台电脑间同步代码
    Git基本操作之强制推送覆盖仓库
    设置Mac共享网络给其他设备
    谷歌浏览器设置无图浏览模式
    加载到SGA中的库缓存对象超过阈值
    webBrowser 禁止屏蔽alert confirm open showModalDialog
  • 原文地址:https://www.cnblogs.com/Wen-yu-jing/p/4118505.html
Copyright © 2011-2022 走看看