waysun一路陽光

          不輕易服輸,不輕言放棄.--心是夢的舞臺,心有多大,舞臺有多大。踏踏實實做事,認認真真做人。

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
            167 隨筆 :: 1 文章 :: 64 評論 :: 0 Trackbacks
          今天的項目中在用Hibernate3.0進行模糊查詢的時候,出現中文亂碼,在網上查了好久資料,終于解決了,現在把整理后的貼出來。
          Hibernate中實現模糊查詢,可有以下三種方式:

          第一種方式:QBC查詢
          String name = "", info = "";
          if (sub != null && sub.getSubname() != null) {
          name = sub.getSubname();
          }
          if (sub != null && sub.getSubinfo() != null) {
          info = sub.getSubinfo();
          }
          Criteria cr = session.createCriteria(Subject.class);
          cr.add(Expression.like("subname","%"+name+"%"));
          cr.add(Expression.like("subinfo","%"+info+"%"));

          第二種方式:HQL查詢語句
          String hql = "from Subject as s where s.subname like :name and s.subinfo like :info";
          // 調用session的獲得數據列表方法,傳遞HQL查詢語句
          String  subnamevalue="要查詢的中文值";
          String   sql="";
          sql   = "from Pfapp  where name like :subname ";

          Query query = session.createQuery(sql); 
          query.setString("subname","%"+subnamevalue+"%");
          System.out.println("*********"+sql);

          注:Subject為數據庫表subject映射的類;它有相應的屬性subname、subinfo及相應的get和set方法;sub為Subject的一個實例化對象。
          另外說明的是:如果你不寫對象名稱,直接寫字段,那么hibernate就按照數據庫字段進行查找
          如果你寫   (對象名.對象屬性),那么hibernate就按照ormapping中的映射字段進行查找
          這是hibernate的靈活之處!!
          posted on 2009-02-22 19:50 weesun一米陽光 閱讀(565) 評論(0)  編輯  收藏 所屬分類: cnweblog/nm1504
          主站蜘蛛池模板: 新津县| 秭归县| 贵港市| 阳信县| 上思县| 沙洋县| 武宁县| 阿巴嘎旗| 辛集市| 扎兰屯市| 敦煌市| 武安市| 通道| 宾川县| 杭州市| 云龙县| 丰镇市| 华容县| 北安市| 安龙县| 汉寿县| 开远市| 宿松县| 哈密市| 武邑县| 高青县| 安阳市| 重庆市| 宜兰县| 兴安盟| 田林县| 高安市| 鞍山市| 翼城县| 库车县| 武城县| 根河市| 荔波县| 南雄市| 榆树市| 广水市|