/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 - 2 0 2 2 Ġthe Ġoriginal Ġauthor Ġor Ġauthors . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ @ file : Suppress (" Deprecated Callable Add Replace With ", Ġ" DE PREC ATION ") Ċ Ċ package Ġorg . kt orm . global Ċ Ċ import Ġorg . kt orm . database . Database Ċ import Ġorg . kt orm . dsl .* Ċ import Ġorg . kt orm . schema . Base Table Ċ import Ġorg . kt orm . schema . Column Decl aring Ċ import Ġjava . sql . Statement Ċ Ċ /** Ċ Ġ* ĠConstruct Ġan Ġupdate Ġexpression Ġin Ġthe Ġgiven Ġclosure , Ġthen Ġexecute Ġit Ġand Ġreturn Ġthe Ġeff ected Ġrow Ġcount . Ċ Ġ* Ċ Ġ* ĠUsage : Ċ Ġ* Ċ Ġ* Ġ``` kotlin Ċ Ġ* ĠEmploy ees . update Ġ{ Ċ Ġ* ĠĠĠĠ Ġset ( it . job , Ġ" engine er ") Ċ Ġ* ĠĠĠĠ Ġset ( it . manager Id , Ġnull ) Ċ Ġ* ĠĠĠĠ Ġset ( it . salary , Ġ 1 0 0 ) Ċ Ġ* ĠĠĠĠ Ġwhere Ġ{ Ċ Ġ* ĠĠĠĠĠĠĠĠ Ġit . id Ġeq Ġ 2 Ċ Ġ* ĠĠĠĠ Ġ} Ċ Ġ* Ġ} Ċ Ġ* Ġ``` Ċ Ġ* Ċ Ġ* Ġ@ param Ġblock Ġthe ĠDSL Ġblock , Ġan Ġextension Ġfunction Ġof Ġ[ Update Statement Builder ], Ġused Ġto Ġconstruct Ġthe Ġexpression . Ċ Ġ* Ġ@ return Ġthe Ġeff ected Ġrow Ġcount . Ċ Ġ*/ Ċ @ Deprecated (" kt orm - global Ġwill Ġbe Ġremoved Ġin Ġthe Ġfuture , Ġplease Ġmigrate Ġto Ġthe Ġstandard ĠAPI .") Ċ public Ġfun Ġ< T Ġ: ĠBase Table <* >> ĠT . update ( block : ĠUpdate Statement Builder .( T ) Ġ-> ĠUnit ): ĠInt Ġ{ ĊĠĠĠ Ġreturn ĠDatabase . global . update ( this , Ġblock ) Ċ } Ċ Ċ /** Ċ Ġ* ĠConstruct Ġupdate Ġexpressions Ġin Ġthe Ġgiven Ġclosure , Ġthen Ġbatch Ġexecute Ġthem Ġand Ġreturn Ġthe Ġeff ected Ċ Ġ* Ġrow Ġcounts Ġfor Ġeach Ġexpression . Ċ Ġ* Ċ Ġ* ĠNote Ġthat Ġthis Ġfunction Ġis Ġimplemented Ġbased Ġon Ġ[ Statement . add Batch ] Ġand Ġ[ Statement . execute Batch ], Ċ Ġ* Ġand Ġany Ġitem Ġin Ġa Ġbatch Ġoperation Ġmust Ġhave Ġthe Ġsame Ġstructure , Ġotherwise Ġan Ġexception Ġwill Ġbe Ġthrown . Ċ Ġ* Ċ Ġ* ĠUsage : Ċ Ġ* Ċ Ġ* Ġ``` kotlin Ċ Ġ* ĠDep art ments . batch Update Ġ{ Ċ Ġ* ĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 2 ) Ġ{ Ċ Ġ* ĠĠĠĠĠĠĠĠ Ġitem Ġ{ Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠ Ġset ( it . location , Ġ" H ong ĠK ong ") Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhere Ġ{ Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . id Ġeq Ġi Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ Ġ* ĠĠĠĠĠĠĠĠ Ġ} Ċ Ġ* ĠĠĠĠ Ġ} Ċ Ġ* Ġ} Ċ Ġ* Ġ``` Ċ Ġ* Ċ Ġ* Ġ@ param Ġblock Ġthe ĠDSL Ġblock , Ġextension Ġfunction Ġof Ġ[ Batch Update Statement Builder ], Ġused Ġto Ġconstruct Ġthe Ġexpressions . Ċ Ġ* Ġ@ return Ġthe Ġeff ected Ġrow Ġcounts Ġfor Ġeach Ġsub - operation . Ċ Ġ*/ Ċ @ Deprecated (" kt orm - global Ġwill Ġbe Ġremoved Ġin Ġthe Ġfuture , Ġplease Ġmigrate Ġto Ġthe Ġstandard ĠAPI .") Ċ public Ġfun Ġ< T Ġ: ĠBase Table <* >> ĠT . batch Update ( block : ĠBatch Update Statement Builder < T >. () Ġ-> ĠUnit ): ĠInt Array Ġ{ ĊĠĠĠ Ġreturn ĠDatabase . global . batch Update ( this , Ġblock ) Ċ } Ċ Ċ /** Ċ Ġ* ĠConstruct Ġan Ġinsert Ġexpression Ġin Ġthe Ġgiven Ġclosure , Ġthen Ġexecute Ġit Ġand Ġreturn Ġthe Ġeff ected Ġrow Ġcount . Ċ Ġ* Ċ Ġ* ĠUsage : Ċ Ġ* Ċ Ġ* Ġ``` kotlin Ċ Ġ* ĠEmploy ees . insert Ġ{ Ċ Ġ* ĠĠĠĠ Ġset ( it . name , Ġ" j erry ") Ċ Ġ* ĠĠĠĠ Ġset ( it . job , Ġ" tra ine e ") Ċ Ġ* ĠĠĠĠ Ġset ( it . manager Id , Ġ 1 ) Ċ Ġ* ĠĠĠĠ Ġset ( it . h ire Date , ĠLocalDate . now ()) Ċ Ġ* ĠĠĠĠ Ġset ( it . salary , Ġ 5 0 ) Ċ Ġ* ĠĠĠĠ Ġset ( it . department Id , Ġ 1 ) Ċ Ġ* Ġ} Ċ Ġ* Ġ``` Ċ Ġ* Ċ Ġ* Ġ@ param Ġblock Ġthe ĠDSL Ġblock , Ġan Ġextension Ġfunction Ġof Ġ[ Assignments Builder ], Ġused Ġto Ġconstruct Ġthe Ġexpression . Ċ Ġ* Ġ@ return Ġthe Ġeff ected Ġrow Ġcount . Ċ Ġ*/ Ċ @ Deprecated (" kt orm - global Ġwill Ġbe Ġremoved Ġin Ġthe Ġfuture , Ġplease Ġmigrate Ġto Ġthe Ġstandard ĠAPI .") Ċ public Ġfun Ġ< T Ġ: ĠBase Table <* >> ĠT . insert ( block : ĠAssign ments Builder .( T ) Ġ-> ĠUnit ): ĠInt Ġ{ ĊĠĠĠ Ġreturn ĠDatabase . global . insert ( this , Ġblock ) Ċ } Ċ Ċ /** Ċ Ġ* ĠConstruct Ġinsert Ġexpressions Ġin Ġthe Ġgiven Ġclosure , Ġthen Ġbatch Ġexecute Ġthem Ġand Ġreturn Ġthe Ġeff ected Ċ Ġ* Ġrow Ġcounts Ġfor Ġeach Ġexpression . Ċ Ġ* Ċ Ġ* ĠNote Ġthat Ġthis Ġfunction Ġis Ġimplemented Ġbased Ġon Ġ[ Statement . add Batch ] Ġand Ġ[ Statement . execute Batch ], Ċ Ġ* Ġand Ġany Ġitem Ġin Ġa Ġbatch Ġoperation Ġmust Ġhave Ġthe Ġsame Ġstructure , Ġotherwise Ġan Ġexception Ġwill Ġbe Ġthrown . Ċ Ġ* Ċ Ġ* ĠUsage : Ċ Ġ* Ċ Ġ* Ġ``` kotlin Ċ Ġ* ĠEmploy ees . batch Insert Ġ{ Ċ Ġ* ĠĠĠĠ Ġitem Ġ{ Ċ Ġ* ĠĠĠĠĠĠĠĠ Ġset ( it . name , Ġ" j erry ") Ċ Ġ* ĠĠĠĠĠĠĠĠ Ġset ( it . job , Ġ" tra ine e ") Ċ Ġ* ĠĠĠĠĠĠĠĠ Ġset ( it . manager Id , Ġ 1 ) Ċ Ġ* ĠĠĠĠĠĠĠĠ Ġset ( it . h ire Date , ĠLocalDate . now ()) Ċ Ġ* ĠĠĠĠĠĠĠĠ Ġset ( it . salary , Ġ 5 0 ) Ċ Ġ* ĠĠĠĠĠĠĠĠ Ġset ( it . department Id , Ġ 1 ) Ċ Ġ* ĠĠĠĠ Ġ} Ċ Ġ* ĠĠĠĠ Ġitem Ġ{ Ċ Ġ* ĠĠĠĠĠĠĠĠ Ġset ( it . name , Ġ" l inda ") Ċ Ġ* ĠĠĠĠĠĠĠĠ Ġset ( it . job , Ġ" assistant ") Ċ Ġ* ĠĠĠĠĠĠĠĠ Ġset ( it . manager Id , Ġ 3 ) Ċ Ġ* ĠĠĠĠĠĠĠĠ Ġset ( it . h ire Date , ĠLocalDate . now ()) Ċ Ġ* ĠĠĠĠĠĠĠĠ Ġset ( it . salary , Ġ 1 0 0 ) Ċ Ġ* ĠĠĠĠĠĠĠĠ Ġset ( it . department Id , Ġ 2 ) Ċ Ġ* ĠĠĠĠ Ġ} Ċ Ġ* Ġ} Ċ Ġ* Ġ``` Ċ Ġ* Ċ Ġ* Ġ@ param Ġblock Ġthe ĠDSL Ġblock , Ġextension Ġfunction Ġof Ġ[ Batch Insert Statement Builder ], Ġused Ġto Ġconstruct Ġthe Ġexpressions . Ċ Ġ* Ġ@ return Ġthe Ġeff ected Ġrow Ġcounts Ġfor Ġeach Ġsub - operation . Ċ Ġ*/ Ċ @ Deprecated (" kt orm - global Ġwill Ġbe Ġremoved Ġin Ġthe Ġfuture , Ġplease Ġmigrate Ġto Ġthe Ġstandard ĠAPI .") Ċ public Ġfun Ġ< T Ġ: ĠBase Table <* >> ĠT . batch Insert ( block : ĠBatch Insert Statement Builder < T >. () Ġ-> ĠUnit ): ĠInt Array Ġ{ ĊĠĠĠ Ġreturn ĠDatabase . global . batch Insert ( this , Ġblock ) Ċ } Ċ Ċ /** Ċ Ġ* ĠConstruct Ġan Ġinsert Ġexpression Ġin Ġthe Ġgiven Ġclosure , Ġthen Ġexecute Ġit Ġand Ġreturn Ġthe Ġauto - generated Ġkey . Ċ Ġ* Ċ Ġ* ĠThis Ġfunction Ġassumes Ġthat Ġat Ġleast Ġone Ġauto - generated Ġkey Ġwill Ġbe Ġreturned , Ġand Ġthat Ġthe Ġfirst Ġkey Ġin Ċ Ġ* Ġthe Ġresult Ġset Ġwill Ġbe Ġthe Ġprimary Ġkey Ġfor Ġthe Ġrow . Ċ Ġ* Ċ Ġ* ĠUsage : Ċ Ġ* Ċ Ġ* Ġ``` kotlin Ċ Ġ* Ġval Ġid Ġ= ĠEmploy ees . insert And Generate Key Ġ{ Ċ Ġ* ĠĠĠĠ Ġset ( it . name , Ġ" j erry ") Ċ Ġ* ĠĠĠĠ Ġset ( it . job , Ġ" tra ine e ") Ċ Ġ* ĠĠĠĠ Ġset ( it . manager Id , Ġ 1 ) Ċ Ġ* ĠĠĠĠ Ġset ( it . h ire Date , ĠLocalDate . now ()) Ċ Ġ* ĠĠĠĠ Ġset ( it . salary , Ġ 5 0 ) Ċ Ġ* ĠĠĠĠ Ġset ( it . department Id , Ġ 1 ) Ċ Ġ* Ġ} Ċ Ġ* Ġ``` Ċ Ġ* Ċ Ġ* Ġ@ param Ġblock Ġthe ĠDSL Ġblock , Ġan Ġextension Ġfunction Ġof Ġ[ Assignments Builder ], Ġused Ġto Ġconstruct Ġthe Ġexpression . Ċ Ġ* Ġ@ return Ġthe Ġfirst Ġauto - generated Ġkey . Ċ Ġ*/ Ċ @ Deprecated (" kt orm - global Ġwill Ġbe Ġremoved Ġin Ġthe Ġfuture , Ġplease Ġmigrate Ġto Ġthe Ġstandard ĠAPI .") Ċ public Ġfun Ġ< T Ġ: ĠBase Table <* >> ĠT . insert And Generate Key ( block : ĠAssign ments Builder .( T ) Ġ-> ĠUnit ): ĠAny Ġ{ ĊĠĠĠ Ġreturn ĠDatabase . global . insert And Generate Key ( this , Ġblock ) Ċ } Ċ Ċ /** Ċ Ġ* ĠDelete Ġthe Ġrecords Ġin Ġthe Ġtable Ġthat Ġmatches Ġthe Ġgiven Ġ[ predicate ]. Ċ Ġ*/ Ċ @ Deprecated (" kt orm - global Ġwill Ġbe Ġremoved Ġin Ġthe Ġfuture , Ġplease Ġmigrate Ġto Ġthe Ġstandard ĠAPI .") Ċ public Ġfun Ġ< T Ġ: ĠBase Table <* >> ĠT . delete ( predicate : Ġ( T ) Ġ-> ĠColumn Decl aring < Boolean >): ĠInt Ġ{ ĊĠĠĠ Ġreturn ĠDatabase . global . delete ( this , Ġpredicate ) Ċ } Ċ Ċ /** Ċ Ġ* ĠDelete Ġall Ġthe Ġrecords Ġin Ġthe Ġtable . Ċ Ġ*/ Ċ @ Deprecated (" kt orm - global Ġwill Ġbe Ġremoved Ġin Ġthe Ġfuture , Ġplease Ġmigrate Ġto Ġthe Ġstandard ĠAPI .") Ċ public Ġfun ĠBase Table <* >. delete All (): ĠInt Ġ{ ĊĠĠĠ Ġreturn ĠDatabase . global . delete All ( this ) Ċ } Ċ