posts - 5,  comments - 1,  trackbacks - 0

          這是我以前BLOG的東東,寫于2005年初做用戶\單位管理模塊的那個時期



          單位代碼是由行政區劃+序號組成的,所以不好用序列,但我要取出當前最大的一個單位序號,因此我在TDWDM.HBM.XML中加上這段HSQL:
          ??? <query name="maxdwdm1">
          ????? <![CDATA[
          ??????? select max(substr(tdwdm.ccode,7,2)) from com.sugem.appAdmin.hbm.Tdwdm as tdwdm
          ????? ]]>
          ??? </query>

          Java類中這樣用:
          ??? public String findByMaxdw1Code() throws HibernateDaoException {
          ??????? Session sess = this.getSession();
          ??????? try {
          ??????????? Query query = sess.getNamedQuery("maxdwdm1");
          ??????????? //如果HSQL中有參數的話就這樣用setParameter
          ??????????? Object results = (Object) query.uniqueResult();
          ??????????? return (String) results;
          ??????? } catch (HibernateException he) {
          ??????????? throw new HibernateDaoException("通過單位id查找單位時出錯" + he.getMessage(),?he);
          ??????? }
          ??? }

          還有一種情況,我要得到用戶沒有的權限,可以這樣用:

          ??? public List findOutUserAuthByUserid(String userid) throws AppException {
          ??????? Session s = this.initSession();
          ??????? TuserauthorityDao dao = new TuserauthorityDao(s);
          ??????? try {
          ??????????? List l = dao.find("from com.sugem.appAdmin.hbm.Tappywlx as ywlx "
          ????????????????????????????? +"where ywlx.ccode not in "
          ????????????????????????????? +"(select userauth.cywlx "
          ????????????????????????????? +"from com.sugem.appAdmin.hbm.Tuserauthority as userauth "
          ????????????????????????????? + "where userauth.cuserid='" + userid + "')");
          ??????????? this.closeSession(s);
          ??????????? return l;
          ??????? } catch (HibernateDaoException he) {
          ??????????? this.closeSession(s);
          ??????????? throw new AppException("查找組數據findOutUserAuthByUserid時出錯:" +
          ?????????????????????????????????? he.getMessage());
          ??????? }
          ??? }


          現在看來,hibernateHSQL的確沒有ibatis的方便,現在有時臨時做一些報表我還是喜歡采用以前老早用的org.apache.commons.beanutils.RowSetDynaClass類......
          posted on 2007-02-01 15:57 小數點 閱讀(588) 評論(0)  編輯  收藏 所屬分類: 工作
          主站蜘蛛池模板: 滦平县| 渭源县| 桐庐县| 藁城市| 文山县| 乌拉特前旗| 博白县| 宽城| 田林县| 特克斯县| 昭平县| 精河县| 萝北县| 大庆市| 濉溪县| 乾安县| 建阳市| 莒南县| 宿州市| 大城县| 新营市| 商洛市| 平果县| 景德镇市| 丰镇市| 大宁县| 庄浪县| 吴川市| 阿拉善右旗| 清河县| 六枝特区| 林西县| 射洪县| 综艺| 保康县| 曲松县| 万荣县| 沾化县| 沅江市| 麻城市| 许昌市|