李敏  
          日歷
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789
          統計
          • 隨筆 - 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 李敏 閱讀(2928) 評論(1)  編輯  收藏 所屬分類: 項目代碼
          評論:
          • # re: Hibernate的Update語句的多屬性更新  Sky、超兒 Posted @ 2010-12-18 20:18
            還是不太明白使用,能幫我嗎?379899146  回復  更多評論   


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


          網站導航:
           
           
          Copyright © 李敏 Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 宜都市| 南丰县| 宁阳县| 马边| 禄丰县| 凤阳县| 民丰县| 武汉市| 巴塘县| 富平县| 锡林浩特市| 桃园县| 永和县| 莲花县| 喜德县| 名山县| 吉首市| 泗水县| 天台县| 临海市| 塔河县| 偏关县| 福海县| 宜州市| 新余市| 静海县| 博白县| 辽阳市| 略阳县| 福州市| 武定县| 太湖县| 定日县| 宁波市| 九龙坡区| 广宗县| 绍兴县| 梅州市| 普兰县| 阿克| 北辰区|