/** Ċ Ġ* ĠĠĠ ĠCopyright Ġ 2 0 1 6 - 2 0 1 9 Ġ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 . Ċ Ġ*/ Ċ package Ġorg . mybatis . dynamic . sql . util . kotlin . mybatis 3 Ċ Ċ import Ġorg . mybatis . dynamic . sql . Basic Column Ċ import Ġorg . mybatis . dynamic . sql . Sql Builder Ċ import Ġorg . mybatis . dynamic . sql . Sql Table Ċ import Ġorg . mybatis . dynamic . sql . insert . Insert DSL Ċ import Ġorg . mybatis . dynamic . sql . insert . Multi Row Insert DSL Ċ import Ġorg . mybatis . dynamic . sql . insert . render . Insert Statement Provider Ċ import Ġorg . mybatis . dynamic . sql . insert . render . Multi Row Insert Statement Provider Ċ import Ġorg . mybatis . dynamic . sql . render . Rendering Str ategies Ċ import Ġorg . mybatis . dynamic . sql . select . Query Expression DSL Ċ import Ġorg . mybatis . dynamic . sql . select . Select Model Ċ import Ġorg . mybatis . dynamic . sql . util . kotlin . Count Comp leter Ċ import Ġorg . mybatis . dynamic . sql . util . kotlin . Delete Comp leter Ċ import Ġorg . mybatis . dynamic . sql . util . kotlin . Select Comp leter Ċ import Ġorg . mybatis . dynamic . sql . util . kotlin . Update Comp leter Ċ Ċ type alias ĠInsert Comp leter < T > Ġ= ĠInsert DSL < T >. () Ġ-> ĠInsert DSL < T > Ċ type alias ĠMulti Row Insert Comp leter < T > Ġ= ĠMulti Row Insert DSL < T >. () Ġ-> ĠMulti Row Insert DSL < T > Ċ Ċ fun Ġcount ( table : ĠSql Table , Ġcomp leter : ĠCount Comp leter ) Ġ= ĊĠĠĠ Ġcomp leter ( Sql Builder . count From ( table )). build (). render ( Rendering Str ategies . MY B AT IS 3 ) Ċ Ċ fun Ġdelete From ( table : ĠSql Table , Ġcomp leter : ĠDelete Comp leter ) Ġ= ĊĠĠĠ Ġcomp leter ( Sql Builder . delete From ( table )). build (). render ( Rendering Str ategies . MY B AT IS 3 ) Ċ Ċ fun Ġ< T > Ġinsert ( record : ĠT , Ġtable : ĠSql Table , Ġcomp leter : ĠInsert Comp leter < T >): ĠInsert Statement Provider < T > Ġ= ĊĠĠĠ Ġcomp leter ( Sql Builder . insert ( record ). into ( table )). build (). render ( Rendering Str ategies . MY B AT IS 3 ) Ċ Ċ fun Ġ< T > Ġinsert Multiple ( records : ĠCollection < T >, Ġtable : ĠSql Table , Ġcomp leter : ĠMulti Row Insert Comp leter < T >): ĠMulti Row Insert Statement Provider < T > Ġ= ĊĠĠĠ Ġcomp leter ( Sql Builder . insert Multiple ( records ). into ( table )). build (). render ( Rendering Str ategies . MY B AT IS 3 ) Ċ Ċ fun ĠQuery Expression DSL . From Gather er < Select Model >. from ( table : ĠSql Table , Ġcomplete : ĠSelect Comp leter ) Ġ= ĊĠĠĠ Ġcomplete ( from ( table )). build (). render ( Rendering Str ategies . MY B AT IS 3 ) Ċ Ċ fun ĠQuery Expression DSL . From Gather er < Select Model >. from ( table : ĠSql Table , Ġalias : ĠString , Ġcomplete : ĠSelect Comp leter ) Ġ= ĊĠĠĠ Ġcomplete ( from ( table , Ġalias )). build (). render ( Rendering Str ategies . MY B AT IS 3 ) Ċ Ċ fun Ġselect ( start : ĠQuery Expression DSL < Select Model >, Ġcomp leter : ĠSelect Comp leter ) Ġ= ĊĠĠĠ Ġcomp leter ( start ). build (). render ( Rendering Str ategies . MY B AT IS 3 ) Ċ Ċ fun Ġselect ( select List : ĠList < Basic Column >, Ġtable : ĠSql Table , Ġcomp leter : ĠSelect Comp leter ) Ġ= ĊĠĠĠ ĠSql Builder . select ( select List ). from ( table , Ġcomp leter ) Ċ Ċ fun Ġselect Distinct ( select List : ĠList < Basic Column >, Ġtable : ĠSql Table , Ġcomp leter : ĠSelect Comp leter ) Ġ= ĊĠĠĠ ĠSql Builder . select Distinct ( select List ). from ( table , Ġcomp leter ) Ċ Ċ fun Ġupdate ( table : ĠSql Table , Ġcomp leter : ĠUpdate Comp leter ) Ġ= ĊĠĠĠ Ġcomp leter ( Sql Builder . update ( table )). build (). render ( Rendering Str ategies . MY B AT IS 3 ) Ċ