package Ġcom . base . library . dao Ċ Ċ import Ġorg . lite pal . Lite Pal Ċ import Ġorg . lite pal . crud . Lite Pal Support Ċ Ċ object ĠLite Pal Utils Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæı Ĵ åħ¥ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġ< T Ġ: ĠLite Pal Support > Ġinsert ( data : ĠT ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . save () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæı Ĵ åħ¥ ä¸Ģä¸ª éĽĨåĲĪ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġ< T Ġ: ĠLite Pal Support > Ġinsert ( datas : ĠCollection < T >) Ġ{ ĊĠĠĠĠĠĠĠ ĠLite Pal . save All ( datas ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å¼ĤæŃ¥ æıĴåħ¥ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġinsert Async ( datas : ĠCollection < Lite Pal Support >) Ġ{ ĊĠĠĠĠĠĠĠ ĠLite Pal . save All Async ( datas ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪłéĻ¤ åįķ ä¸ª æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdelete ( data : ĠLite Pal Support ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata . delete () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæł¹æį® Ġid ĠåĪłéĻ¤ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdelete ( data : ĠClass < Lite Pal Support >, Ġid : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLite Pal . delete ( data , Ġid ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåıĤæķ° 1 Ġ ï¼ļ è¡¨ ĊĠĠĠĠ Ġ* ĠåıĤæķ° 2 Ġ ï¼ļ çº¦ æĿŁ æĿ¡ä»¶ ĊĠĠĠĠ Ġ* Ġ è¯´æĺİ Ġ ï¼ļ ç¬¬ä¸Ģä¸ª åŃĹç¬¦ åıĤæķ° è¡¨ç¤º SQL çļĦ WHERE éĥ¨åĪĨ , ç¬¬ä¸Ģä¸ª éĹ® åı· æĺ¯ ç¬¬äºĮ ä¸ª åıĤæķ° , ç¬¬äºĮ ä¸ª éĹ® åı· æĺ¯ ç¬¬ä¸ī ä¸ª åıĤæķ° , ä»¥ æŃ¤ ç±» æİ¨ ãĢĤ ĊĠĠĠĠ Ġ* Ġ ç¤ºä¾ĭ Ġ ï¼ļ ĠLite Pal . delete All ( Journal . class , Ġ" behavior Ġ= Ġ? Ġand Ġversion Ġ= Ġ?", Ġ" å¿ĥ è·³ ", Ġ" 1 . 0 . 0 ") ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdelete All ( data : ĠClass < Lite Pal Support >, Ġvar arg Ġconditions : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠLite Pal . delete All ( data , Ġ* conditions ) ĊĠĠĠĠĠĠĠ Ġ// ĠåıĤæķ° Ġ* Ġä¼ļ å¤įåĪ¶ æĸ°çļĦ æķ°ç»Ħ Arrays . copyOf ( value , Ġvalue . length ), ä¸į åĬł Ġ* Ġ å°± è½¬æį¢ æĪĲ Any ç±»åŀĭ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ä¼łéĢĴ ç©º åŃĹç¬¦ä¸² å°Ĩ åĪłéĻ¤ æīĢæľī è¡Į ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdelete All ( data : ĠClass < Lite Pal Support >) Ġ{ ĊĠĠĠĠĠĠĠ ĠLite Pal . delete All ( data , Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæł¹æį® Ġid ĠæŁ¥è¯¢ åįķ ä¸ª è®°å½ķ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġfind ( data : ĠClass < Lite Pal Support >, Ġid : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLite Pal . find ( data , Ġid ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠæŁ¥è¯¢ æīĢæľīçļĦ è®°å½ķ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠfindAll ( data : ĠClass < Lite Pal Support >) Ġ{ ĊĠĠĠĠĠĠĠ ĠLite Pal . findAll ( data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè¿ĶåĽŀ è¡¨ çļĦ ç¬¬ä¸Ģ æĿ¡ æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġfind First ( data : ĠClass < Lite Pal Support >) Ġ{ ĊĠĠĠĠĠĠĠ ĠLite Pal . findFirst ( data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè¿ĶåĽŀ è¡¨ çļĦ æľĢåĲİ ä¸ĢæĿ¡ æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġfind Last ( data : ĠClass < Lite Pal Support >) Ġ{ ĊĠĠĠĠĠĠĠ ĠLite Pal . find Last ( data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæł¹æį® å¤ļä¸ª Ġid Ġ è¿Ľè¡Į æŁ¥è¯¢ Ġ å¤ļ æĿ¡ æķ°æį® ĊĠĠĠĠ Ġ* Ġ ĠfindAll ( Journal :: class . java , Ġ 1 , Ġ 2 , Ġ 3 ) ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠfindAll ( data : ĠClass < Lite Pal Support >, Ġvar arg Ġids : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLite Pal . findAll ( data , Ġ* ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåıĤæķ° 1 Ġ ï¼ļ è¡¨ ĊĠĠĠĠ Ġ* ĠåıĤæķ° 2 Ġ ï¼ļ çº¦ æĿŁ æĿ¡ä»¶ ĊĠĠĠĠ Ġ* Ġ è¯´æĺİ Ġ ï¼ļ ç¬¬ä¸Ģä¸ª åŃĹç¬¦ åıĤæķ° è¡¨ç¤º SQL çļĦ WHERE éĥ¨åĪĨ , ç¬¬ä¸Ģä¸ª éĹ® åı· æĺ¯ ç¬¬äºĮ ä¸ª åıĤæķ° , ç¬¬äºĮ ä¸ª éĹ® åı· æĺ¯ ç¬¬ä¸ī ä¸ª åıĤæķ° , ä»¥ æŃ¤ ç±» æİ¨ ãĢĤ ĊĠĠĠĠ Ġ* Ġ ç¤ºä¾ĭ Ġ ï¼ļ ĠLite Pal . where (" name Ġlike Ġ? Ġand Ġage Ġ< Ġ?", Ġ"% èµ µ %", Ġ" 2 0 "). find ( data ) ĠæŁ¥è¯¢ Ġname Ġ åĮħåĲ« Ġ èµ µ Ġ å¹¶ä¸Ķ Ġage Ġ< Ġ 2 0 ĠçļĦ æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġfind Where ( data : ĠClass < Lite Pal Support >, Ġvar arg Ġconditions : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠLite Pal . where (* conditions ). find ( data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ è¿ŀ ç¼Ģ æŁ¥è¯¢ ĊĠĠĠĠ Ġ* Ġselect Ġ æİ¥åıĹ ä»»æĦı ä¸ª åŃĹç¬¦ä¸² åıĤæķ° , æ¯ıä¸ª åıĤæķ° å¯¹åºĶ ä¸Ģä¸ª åĪĹ åĲį ĊĠĠĠĠ Ġ* Ġwhere ĠæĮĩå®ļ æŁ¥è¯¢ æĿ¡ä»¶ , åıĤæķ° 1 Ġ çĶ¨äºİ è¿Ľè¡Į æĿ¡ä»¶ çº¦ æĿŁ , åıĤæķ° 2 Ġ å¼Ģå§ĭ Ġ éĥ½æĺ¯ çĶ¨äºİ æĽ¿æį¢ ç¬¬ä¸Ģä¸ª åıĤæķ° ä¸ŃçļĦ åįł ä½į ç¬¦ ĊĠĠĠĠ Ġ* Ġorder Ġ å¯¹åºĶ Ġsql è¯Ńåı¥ Ġorder Ġby Ġ éĥ¨åĪĨ ĊĠĠĠĠ Ġ* Ġlimit Ġ éĻĲåĪ¶ æŁ¥è¯¢ è¿ĶåĽŀ çļĦ è¡Į æķ° ĊĠĠĠĠ Ġ* Ġoffset Ġ åģı ç§» éĩı , åĴĮ limit ä¸Ģèµ· ä½¿çĶ¨ , åİŁ æĿ¥ æĺ¯ æŁ¥è¯¢ åīį 1 0 çļĦæķ°æį® , åģı ç§» 1 0 ä¸ª ä½įç½® åĲİ , åıĺ æĪĲ æŁ¥è¯¢ ç¬¬ 1 1 åĪ° 2 0 çļĦæķ°æį® äºĨ , ĊĠĠĠĠ Ġ* Ġå¦Ĥæŀľ åģı ç§» 2 0 , å°± è¡¨ç¤º æŁ¥è¯¢ 2 1 åĪ° 3 0 çļĦæķ°æį® , ä»¥ æŃ¤ ç±» æİ¨ , åı¯ä»¥ çĶ¨æĿ¥ åĪĨé¡µ æŁ¥è¯¢ ãĢĤ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġfind Where ( data : ĠClass < Lite Pal Support >) Ġ{ ĊĠĠĠĠĠĠĠ ĠLite Pal ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. select (" name ", Ġ" age ") Ġ// Ġåıª æŁ¥è¯¢ Ġname ĠåĴĮ Ġage Ġ è¿Ļ ä¸¤ åĪĹ æķ°æį® ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. where (" name Ġlike Ġ? Ġand Ġage Ġ> Ġ?", Ġ"% èµ µ %", Ġ" 0 ") Ġ// ĠæŁ¥è¯¢ name åĮħåĲ« " èµ µ " Ġ å¹¶ä¸Ķ Ġage > 0 ĠçļĦ æķ°æį® ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. order (" age Ġdesc ") Ġ// Ġæł¹æį® age è¿Ľè¡Į æİĴåºı , asc æŃ£ åºı , desc åĢĴ åºı ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. limit ( 1 0 ) Ġ// Ġåıª æŁ¥è¯¢ åīį 1 0 æĿ¡ æķ°æį® ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. offset ( 1 0 ) Ġ// Ġ åģı ç§» 1 0 ä¸ª ä½įç½® , åĴĮ Ġlimit Ġä¸Ģ èµ· ä½¿çĶ¨ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. find ( data ) Ġ// ĠæŁ¥è¯¢ åĵª å¼ł è¡¨ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæ ¿ Ģ è¿Ľ æŁ¥è¯¢ ĊĠĠĠĠ Ġ* Ġä¸Ģ å¯¹ å¤ļ åħ³èģĶ çļĦæĹ¶åĢĻ ĊĠĠĠĠ Ġ* Ġis E ager Ġtrue Ġ åħ³èģĶ æŁ¥è¯¢ , æ¯Ķå¦Ĥ æŁ¥è¯¢ id = 1 çļĦ æĸ° éĹ» åı¯ä»¥ æĬĬ å¯¹åºĶçļĦ è¯Ħè®º ä¸Ģèµ· æŁ¥è¯¢ åĩºæĿ¥ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġfind Where ( data : ĠClass < Lite Pal Support >, Ġid : ĠLong , Ġis E ager : ĠBoolean Ġ= Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLite Pal . find ( data , Ġid , Ġis E ager ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åİŁ çĶŁ æŁ¥è¯¢ ĊĠĠĠĠ Ġ* Ġfind Where (" select Ġ* Ġfrom ĠJournal Ġwhere Ġage >? ", Ġ" 0 ") ĊĠĠĠĠ Ġ* Ġ åīį éĿ¢ çļĦæĺ¯ çº¦ æĿŁ ï¼Į åĲİ éĿ¢çļĦ åıĤæķ° çĶ¨äºİ æĽ¿æį¢ è¯Ńåı¥ ä¸ŃçļĦ åįł ä½į ç¬¦ ĊĠĠĠĠ Ġ* Ġè¿ĶåĽŀ çļĦ æķ° Cursor å¯¹è±¡ , åĴĮ åİŁ çĶŁ çļĦ sql è¯Ńåı¥ è¿ĶåĽŀ çļĦ ç»ĵæŀľ çĽ¸åĲĮ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġfind Where ( sql : ĠString , Ġvar arg Ġconditions : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcursor Ġ= ĠLite Pal . findBy SQL ( sql , Ġ* conditions ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ èģļ åĲĪ åĩ½æķ° ĊĠĠĠĠ Ġ* Ġcount Ġ ç»Łè®¡ è¡Į æķ° ĊĠĠĠĠ Ġ* Ġsum Ġå¯¹ åħ·æľī è¿Ĳç®Ĺ èĥ½åĬĽ çļĦ åĪĹ å¯¹ ç»ĵæŀľ è¿Ľè¡Į æ±Ĥ åĲĪ , æ¯Ķå¦Ĥ æķ´ åŀĭ æĪĸèĢħ æµ ® çĤ¹ åŀĭ åĪĹ ĊĠĠĠĠ Ġ* Ġaverage Ġå¯¹ åħ·æľī è¿Ĳç®Ĺ èĥ½åĬĽ çļĦ åĪĹ ç»Łè®¡ å¹³åĿĩ æķ° ĊĠĠĠĠ Ġ* Ġmax Ġæ ± Ĥ åĩº æŁĲ åĪĹ æľĢå¤§ çļĦ æķ° åĢ¼ ĊĠĠĠĠ Ġ* Ġmin Ġæ ± Ĥ åĩº æŁĲ åĪĹ æľĢå°ı çļĦ æķ° åĢ¼ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġfind Ju he ( data : ĠClass < Lite Pal Support >) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġ ç»Łè®¡ å¤ļå°ĳ æĿ¡ æķ°æį® ĊĠĠĠĠĠĠĠ ĠLite Pal . count ( data ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠæŁ¥è¯¢ age = 2 0 çļĦ æľī å¤ļå°ĳ æĿ¡ ĊĠĠĠĠĠĠĠ ĠLite Pal . where (" age Ġ= Ġ?", Ġ" 2 0 "). count ( data ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠåıĤæķ° 2 ĠéľĢè¦ģ æ±Ĥ åĲĪ çļĦ åĪĹ , åıĤæķ° 3 ĠæĮĩå®ļ ç±»åŀĭ , æł¹æį® æĥħåĨµ æĮĩå®ļ ç±»åŀĭ ĊĠĠĠĠĠĠĠ ĠLite Pal . sum ( data , Ġ" age ", ĠInt :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ ç»Łè®¡ å¹³åĿĩ å¹´ é¾ Ħ ĊĠĠĠĠĠĠĠ ĠLite Pal . average ( data , Ġ" age ") ĊĊĠĠĠĠĠĠĠ Ġ// Ġ å¾ĹåĪ° æľĢå¤§ çļĦ å¹´ é¾ Ħ , åıĤæķ° 2 Ġ åĪĹ åĲį , åıĤæķ° 3 ĠæĮĩå®ļ ç±»åŀĭ , æł¹æį® æĥħåĨµ æĮĩå®ļ ç±»åŀĭ ĊĠĠĠĠĠĠĠ ĠLite Pal . max ( data , Ġ" age ", ĠInt :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġ å¾ĹåĪ° æľĢå°ı çļĦ å¹´ é¾ Ħ , åıĤæķ° 2 Ġ åĪĹ åĲį , åıĤæķ° 3 ĠæĮĩå®ļ ç±»åŀĭ , æł¹æį® æĥħåĨµ æĮĩå®ļ ç±»åŀĭ ĊĠĠĠĠĠĠĠ ĠLite Pal . min ( data , Ġ" age ", ĠInt :: class . java ) ĊĠĠĠ Ġ} Ċ Ċ }