<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 165, comments - 198, trackbacks - 0, articles - 1
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
    約定:
    ??? bean.getXX.. 稱為 gbean
    ??? bean.setXX.. 稱為 sbean
    目的:
    gbean 多屬性 付值給 sbean 多屬性(并值有一定修改后)等復(fù)雜

    用 一句 *邏輯string* 就可以了
    多屬性不同類型 賦值了
    說(shuō)明:
    1.sbean : testData 類有4個(gè)屬性 ??? personid ; workno ; hname ; dob ;
    2.gbean 類我這用的是數(shù)據(jù)庫(kù)動(dòng)態(tài)類 ,有興趣的可以看看我的另一遍blog 動(dòng)態(tài)面向?qū)ο髷?shù)據(jù)庫(kù)操作
    ??? 數(shù)據(jù)庫(kù) 表 z_jcyy_basepersonnel 多屬性 但 personid,workno,hname 不可以為空
    3.這里 get set 賦值 使用的工具 LGUtil
    測(cè)試:
    package?myGGUtil.LGBeanUtil.test;

    import?java.util.Date;
    import?java.util.Iterator;
    import?java.util.List;
    import?org.apache.commons.beanutils.BeanUtils;
    import?org.apache.commons.jxpath.JXPathContext;
    import?myGGUtil.DBUtil.DyanDBUtils.DyanDBUtils;
    import?myGGUtil.LGBeanUtil.LGUtil;
    import?myGGUtil.LGBeanUtil.SpecialAttFun;
    import?junit.framework.TestCase;

    public?class?test?extends?TestCase?{
    ???

    ??? //只有一條數(shù)據(jù)的 一對(duì)一
    ????
    public?void?testONE_TO_ONE()throws?Exception{

    ??? ??? //得到修改的 數(shù)據(jù)'0301003300
    ' dob 時(shí)間為當(dāng)前 一條值
    ????????DyanDBUtils?dyd?
    =?new?DyanDBUtils();
    ????????List?list?
    =?dyd.select("select?t.*?from?z_jcyy_basepersonnel?t?where?t.personid?=?'0301003300'");
    ????????BeanUtils.setProperty(?list.get(
    0)?,"dob",new?Date());?
    ????????dyd.updateOrInsert(list.get(
    0));
    ????????List?listD?
    =?dyd.select("select?t.*?from?z_jcyy_basepersonnel?t?where?t.personid?=?'0301003300'");

    ??? ??? //這使用 LGutil 目的是 包, 把
    數(shù)據(jù)'0301003300'的 personid,workno,hname,dob 值通過(guò)一定邏輯賦值
    ????????LGUtil?lb?
    =?new?LGUtil();
    ????????lb.setDataList(listD);?? //數(shù)據(jù)加入? : 就是 gbean
    ????????lb.setMapping(LGUtil.ONE_TO_ONE);?? //定義是一對(duì)一 get -> set
    ????????lb.setVbClass(testData.
    class); // sbean 類
    ????????lb.setAttrLg(Date.
    class,"?./${.+}?","action:date($this,'yy-MM-dd')");
    ??? ??? //把gbean數(shù)據(jù)為Date類型的付值給 sbean 的string類型 并以 'yy-MM-dd'時(shí)間字符格式
    ?

    ????????lb.setAttrLg(String.
    class,"./${.+}"); //String 普通付值
    ????????
    ????????lb.setFun(
    new?SpecialAttFun(){
    ????????????
    public?void?action(JXPathContext?temD,?JXPathContext?temV,?int?step,?JXPathContext?all)?{
    ????????????????temV.setValue(
    "hname","heha"?); //在特殊值 hname 改為 heha (呵哈 我的口號(hào)哦^_^)
    ????????????}
    ????????});
    ????????
    ????????testData?oo?
    =?(testData)lb.getVBean().get(0)?;
    ??? ??? //sbean 的值輸出 :
    ????????System.out.println(oo.getPersonid()
    +":"+oo.getHname()+":"+oo.getWorkno()+":"+?oo.getDob()?);
    ???????
    ??? ??? //測(cè)試結(jié)束 數(shù)據(jù)庫(kù) 改回去 dob 為空
    ????????BeanUtils.setProperty(?list.get(
    0)?,"dob",null);?
    ????????dyd.updateOrInsert(list.get(
    0));
    ????}
    ???
    ??? //多條數(shù)據(jù)的
    對(duì)? :就是 gbean多 -> sbean
    ????public?void?testMANY_TO_ONE()throws?Exception{
    ????????DyanDBUtils?dyd?
    =?new?DyanDBUtils();
    ????????List?list?
    =?dyd.select("select?t.*?from?z_jcyy_basepersonnel?t?where?t.personid?like?'03010033%'?");
    ??? ??? // 得到多條數(shù)據(jù)

    ????????LGUtil?lb?
    =?new?LGUtil();
    ????????lb.setDataList(list);
    ????????lb.setMapping(LGUtil.MANY_TO_ONE);
    ????????lb.setVbClass(testData.
    class);
    ????????lb.setAttrLg(
    "sum(./${workno})");? //把屬性 workno 的全部值 向加 并 付值給 sbean.workno
    ????????
    ????????testData?oo?
    =?(testData)lb.getVBean().get(0)?;
    ????????System.out.println(oo.getWorkno()); //輸出 workno
    ????}

    ??? //多數(shù)據(jù)的一對(duì)一? gbean多 -> sbean多
    ????
    public?void?testOne_to_one()throws?Exception{
    ????????DyanDBUtils?dyd?
    =?new?DyanDBUtils();
    ????????List?listd?
    =?dyd.select("select?t.*?from?z_jcyy_basepersonnel?t?where?t.personid?=?'0301003300'");
    ????????BeanUtils.setProperty(?listd.get(
    0)?,"dob",new?Date());?
    ????????dyd.updateOrInsert(listd.get(
    0));
    ????????List?list?
    =?dyd.select("select?t.*?from?z_jcyy_basepersonnel?t?where?t.personid?=?'0301003300'");
    ??? ?? //這 030100330 數(shù)據(jù)改值 下面 展現(xiàn)需要 (有不同哦)
    ??? ??
    ????????LGUtil?lb?
    =?new?LGUtil();
    ????????lb.setDataList(dyd.select(
    "select?t.dob,?t.*?from?z_jcyy_basepersonnel?t?where?t.personid?like?'03010033%'"))?;
    ????????lb.setMapping(LGUtil.ONE_TO_ONE);
    ????????lb.setVbClass(testData.
    class);
    ????????
    ????????lb.setAttrLg(
    "${.+}");//全付值?
    ??????? lb.setAttrLg(Date.class," ./${.+} ","action:date($this,'yy-MM-dd')"); //date 給格式

    ????????
    for(Iterator?it=lb.getVBean().iterator();it.hasNext();?){
    ????????????testData?oo?
    =?(testData)it.next();
    ????????????System.out.println(oo.getPersonid()
    +":"+oo.getHname()+":"+oo.getWorkno()+":"+?oo.getDob()?);
    ????????}
    ????????
    ????????BeanUtils.setProperty(?list.get(
    0)?,"dob",null);?
    ????????dyd.updateOrInsert(list.get(
    0));
    ????}?
    }

    結(jié)果:
    //方法 testONE_TO_ONE(): dob為'yy-MM-dd'
    0301003300:heha:3300:07-09-29

    //方法testMANY_TO_ONE() workno 全加 就是方法3 的workno全加 (大家可以看看哦)
    174005.0
    //方法testOne_to_one() 全付值 (簡(jiǎn)單展示 也可以對(duì)沒(méi)個(gè)屬性修改付 如:dob 方法一樣)
    0301003300:張金棟:3300:07-09-29
    0301003301:谷嘉奇:3301:78-09-21
    0301003302:閆國(guó)春:3302:78-12-24
    0301003304:解國(guó)強(qiáng):3304:77-08-17
    0301003305:任志勇:3305:71-10-20
    0301003306:張寧:3306:74-10-13
    0301003307:閆立文:3307:70-07-05
    0301003308:鄧志山:3308:74-02-28
    0301003309:劉承謙:3309:67-12-30
    0301003310:郭愛(ài)軍:3310:75-11-21
    0301003312:楊濤:3312:73-08-01
    0301003313:喬迎松:3313:74-05-27
    0301003314:徐志斌:3314:69-03-14
    0301003323:黃向東:3323:72-07-30
    0301003324:高國(guó)良:3324:73-11-17
    0301003326:高杰:3326:74-02-10
    0301003329:葛燕京:3329:74-10-29
    0301003331:趙震:3331:75-01-07
    0301003333:郝君平:3333:74-03-12
    0301003339:孫雪峰:3339:73-03-28
    0301003340:劉紹明:3340:74-12-23
    0301003341:郭金江:3341:73-06-07
    0301003342:趙福軍:3342:74-01-17
    0301003343:劉勇:3343:74-07-04
    0301003349:鄭巖:3349:73-11-29
    0301003350:周勇:3350:75-06-03
    0301003352:許東波:3352:73-11-30
    0301003353:于華濤:3353:71-11-08
    0301003354:陳建宏:3354:71-11-21
    0301003355:王福祿:3355:70-11-16
    0301003357:曹小軍:3357:75-09-05
    0301003358:耿龍:3358:76-04-09
    0301003359:麻然松:3359:74-04-05
    0301003361:侯亮:3361:77-11-01
    0301003362:翁寶重:3362:73-10-06
    0301003364:李結(jié):3364:74-12-08
    0301003367:張建杰:3367:70-01-03
    0301003369:王琪:3369:76-03-23
    0301003370:劉洪濤:3370:77-10-26
    0301003371:張兆鵬:3371:76-06-21
    0301003373:王飛虎:3373:74-12-06
    0301003375:王愛(ài)軍:3375:74-01-02
    0301003376:李小發(fā):3376:72-12-20
    0301003377:楊京海:3377:78-08-12
    0301003379:王羽:3379:77-10-27
    0301003380:周鳳昆:3380:74-02-16
    0301003381:王建新:3381:76-05-11
    0301003384:盧紅峰:3384:77-11-03
    0301003387:解瑞杰:3387:72-05-15
    0301003390:李振盈:3390:76-10-03
    0301003393:馬強(qiáng):3393:75-10-03
    0301003397:齊永強(qiáng):3397:77-04-06

    有興趣的可以看看我花了3 天寫(xiě)的代碼(重構(gòu)過(guò)一次應(yīng)該還是可以看看的 )
    下載:
    myGGUtil.rar
    包說(shuō)明:
    ?本次 代碼在 myGGUtil.LGBeanUtil.LGUtil 下 (^_^)大家提點(diǎn)意見(jiàn)哦 !
    我希望這個(gè)好的想法 能成一個(gè)框架 哦~~~
    ?

    評(píng)論

    # re: Bean_to_Bean 付值完整解決(可用在實(shí)際開(kāi)發(fā))  回復(fù)  更多評(píng)論   

    2007-09-29 10:40 by 千里冰封
    呵呵,老兄,應(yīng)該是賦值吧,不應(yīng)該是付值

    # re: Bean_to_Bean 賦值完整解決(可用在實(shí)際開(kāi)發(fā))  回復(fù)  更多評(píng)論   

    2007-09-29 12:05 by G_G
    謝謝提醒
    主站蜘蛛池模板: 免费看a级黄色片| 亚洲国产精品无码中文lv| 国产精品另类激情久久久免费| 久久99免费视频| 一级毛片**免费看试看20分钟 | 国产精品亚洲专区无码唯爱网| 亚洲日本一区二区三区| 国产精品V亚洲精品V日韩精品 | 亚洲暴爽av人人爽日日碰| 亚洲精品午夜在线观看| 亚洲AV无码专区电影在线观看| 亚洲高清国产拍精品青青草原| 最新仑乱免费视频| 九九精品免费视频| 57PAO成人国产永久免费视频 | 亚洲精品少妇30p| 亚洲一区无码精品色| 四虎精品亚洲一区二区三区| 国产福利免费在线观看| 日本久久久免费高清| 成人午夜性A级毛片免费| 毛片免费视频观看| 免费a级毛片高清视频不卡 | 亚洲日本va在线观看| 亚洲精品国产手机| 亚洲国产美女精品久久久久| 亚洲影院在线观看| 精品亚洲aⅴ在线观看| 老司机亚洲精品影院| 亚洲午夜在线电影| 精品无码一区二区三区亚洲桃色| 亚洲高清日韩精品第一区| 久久亚洲美女精品国产精品 | 在线涩涩免费观看国产精品| 免费无码又爽又刺激网站| 大地资源在线资源免费观看 | 亚洲AV无码不卡在线播放| 久久国产亚洲观看| 亚洲最大免费视频网| 香蕉大伊亚洲人在线观看| 日韩国产精品亚洲а∨天堂免|