李敏  
          日歷
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345
          統計
          • 隨筆 - 1
          • 文章 - 40
          • 評論 - 4
          • 引用 - 0

          導航

          常用鏈接

          留言簿(1)

          文章分類

          文章檔案

          相冊

          收藏夾

          它山之石

          聚賢莊

          搜索

          •  

          最新評論

           

           

          public class Test{
            
          /**
             * Test Method
             
          */

            
          private void service(){
              String param[] 
          = {
                
          "name""id"
              }
          ;
              Object values[] 
          = {
                
          "minli"1
              }
          ;

              update(
          "Customer", param, values);
            }


            
          /**
             * 更新 (該方法目前只針對一個查詢參數,至于多參數的可以在此基礎上更改,思路則不變)
             * @params 為要更新實體當中的屬性,其中最后一個為查詢參數  
             
          */

            
          private void update(String entity, String[] params, Object[] values){
              
          if (params == null || values == null)
                
          throw new NullPointerException("param is null!");

              
          if (params.length < 2 || values.length < 2)
                
          throw new IllegalArgumentException("param is wrong");

              
          if (params.length != values.length)
                
          throw new IllegalArgumentException("param is wrong");

              String updateHQL 
          = updateSQL(entity, params, values);

              
          //這個地方可以使用query來進行遍歷數組來賦值
              System.out.println(updateHQL);
            }


            
          /**
             * 生成Update HQL語句
             
          */

            
          private String updateSQL(String entity, String[] params, Object[] values){
              String entityName 
          = entity.toLowerCase();

              String baseHQL 
          = "update " + entity + " " + entityName + " set ";

              
          for (int i = 0; i < params.length - 1; i++){
                String param 
          = params[i];

                baseHQL 
          += entityName + "." + param + "=:" + param;

                
          if (i < params.length - 2)
                  baseHQL 
          += ",";
              }

              String param 
          = params[params.length - 1];

              baseHQL 
          += " where " + entityName + "." + param + "=:" + param;

              
          return baseHQL;
            }


            
          public static void main(String[] args){
              
          new Test().service();
            }

          }

          posted on 2010-01-22 22:56 李敏 閱讀(2925) 評論(1)  編輯  收藏 所屬分類: 項目代碼
          評論:
          • # re: Hibernate的Update語句的多屬性更新  Sky、超兒 Posted @ 2010-12-18 20:18
            還是不太明白使用,能幫我嗎?379899146  回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
           
          Copyright © 李敏 Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 安龙县| 德安县| 津南区| 霞浦县| 当阳市| 特克斯县| 贵阳市| 南投县| 林甸县| 通山县| 马尔康县| 长丰县| 长海县| 建平县| 滁州市| 陈巴尔虎旗| 桂林市| 凤台县| 平谷区| 子长县| 喜德县| 确山县| 扎鲁特旗| 鸡泽县| 横山县| 江川县| 延寿县| 宁武县| 阳朔县| 乌审旗| 金溪县| 科尔| 长汀县| 米泉市| 滕州市| 湘乡市| 佛坪县| 聂拉木县| 柳林县| 巴彦淖尔市| 祁门县|