Webwork项目总结(二)

    技术2022-05-12  31

     三.Hibernate总结

         使用HQL语言:

     

         //获取操作数据库session

         Session session = getHibernateTemplate().getSessionFactory()                 .getCurrentSession();

     

      // 返回一行记录   String hql = "from TOrder o where o.id = ?";   TOrder o = (TOrder) s.createQuery(hql)   .setParameter(0, orderId)   .uniqueResult();      // 命名参数   Query q = sess.createQuery("from DomesticCat cat where cat.name = :name");   q.setString("name", "Fritz");      // 位置参数   Query q = sess.createQuery("from DomesticCat cat where cat.name = ?");   q.setString(0, "Izi");      // 命名参数列表   Query q = sess.createQuery("from DomesticCat cat where cat.name in (:namesList)");   q.setParameterList("namesList", names);      // 分页查询   Query q = sess.createQuery("from DomesticCat cat");   q.setFirstResult(20);   q.setMaxResults(10);   List cats = q.list();

     

          //删除元素

          Query q = sess.createQuery("from TOrder o where o.id = '123456'");

          q.executeUpdate();

    四. 与spring结合

           HibernateTemplate 提供持久层访问模板化,使用 HibernateTemplate 无须实现特定接口,它只需要提供一个 SessionFactory 的引用,就可执行持久化操作。 SessionFactoyr 对象可通过构造参数传入,或通过设值方式传入。

    对于在 W eb 应用,通常启动时自动加载 ApplicationContext , SessionFactory 和 DAO 对象都处在 Spring 上下文管理下,因此无须在代码中显式设置,可采用依赖注入解耦 SessionFactory 和 DAO ,依赖关系通过配置文件来设置,如下所示:

     

    看我的Webwork项目总结三。呵呵。。。


    最新回复(0)