waysun一路陽(yáng)光

          不輕易服輸,不輕言放棄.--心是夢(mèng)的舞臺(tái),心有多大,舞臺(tái)有多大。踏踏實(shí)實(shí)做事,認(rèn)認(rèn)真真做人。

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 ::  :: 管理 ::
            167 隨筆 :: 1 文章 :: 64 評(píng)論 :: 0 Trackbacks
          今天的項(xiàng)目中在用Hibernate3.0進(jìn)行模糊查詢的時(shí)候,出現(xiàn)中文亂碼,在網(wǎng)上查了好久資料,終于解決了,現(xiàn)在把整理后的貼出來(lái)。
          Hibernate中實(shí)現(xiàn)模糊查詢,可有以下三種方式:

          第一種方式: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查詢語(yǔ)句
          String hql = "from Subject as s where s.subname like :name and s.subinfo like :info";
          // 調(diào)用session的獲得數(shù)據(jù)列表方法,傳遞HQL查詢語(yǔ)句
          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為數(shù)據(jù)庫(kù)表subject映射的類(lèi);它有相應(yīng)的屬性subname、subinfo及相應(yīng)的get和set方法;sub為Subject的一個(gè)實(shí)例化對(duì)象。
          另外說(shuō)明的是:如果你不寫(xiě)對(duì)象名稱,直接寫(xiě)字段,那么hibernate就按照數(shù)據(jù)庫(kù)字段進(jìn)行查找
          如果你寫(xiě)   (對(duì)象名.對(duì)象屬性),那么hibernate就按照ormapping中的映射字段進(jìn)行查找
          這是hibernate的靈活之處!!
          posted on 2009-02-22 19:50 weesun一米陽(yáng)光 閱讀(573) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): cnweblog/nm1504
          主站蜘蛛池模板: 兖州市| 瑞安市| 即墨市| 府谷县| 北海市| 邵东县| 阿巴嘎旗| 石柱| 宁都县| 屏东市| 石家庄市| 呈贡县| 门头沟区| 绍兴县| 黄梅县| 弥渡县| 大理市| 班戈县| 石嘴山市| 林州市| 宁远县| 江口县| 沙坪坝区| 定安县| 巫山县| 温州市| 沙田区| 泾源县| 临高县| 五大连池市| 新晃| 遂平县| 丰城市| 平利县| 洮南市| 阿拉尔市| 息烽县| 西和县| 汶上县| 电白县| 吉林省|