package Ġkr . later a . s ib y lla . article api . dao Ċ Ċ import Ġkr . later a . s ib y lla . article api . dto . Source Dto Ċ import Ġorg . springframework . dao . Empty Result Data AccessException Ċ import Ġorg . springframework . jdbc . core . named param . Named Parameter Jdbc Template Ċ import Ġorg . springframework . jdbc . core . simple . Simple Jdbc Insert Ċ import Ġjavax . sql . DataSource Ċ Ċ class ĠSource Dao ( dataSource : ĠDataSource ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġjdbc Ġ= ĠNamed Parameter Jdbc Template ( dataSource ) ĊĠĠĠ Ġprivate Ġval Ġinsert Action Ġ= ĠSimple Jdbc Insert ( dataSource ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with TableName (" source ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. using Generated Key Columns (" id ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. using Columns (" name ") ĊĊĠĠĠ Ġfun Ġinsert ( name : ĠString ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠHashMap < String , ĠString >() ĊĠĠĠĠĠĠĠ Ġparams [" name "] Ġ= Ġname ĊĠĠĠĠĠĠĠ Ġreturn Ġinsert Action . execute And Return Key ( params ). to Long () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġselect ById ( id : ĠLong ): ĠSource Dto ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠHashMap < String , ĠLong >() ĊĠĠĠĠĠĠĠ Ġparams [" source Id "] Ġ= Ġid ĊĊĠĠĠĠĠĠĠ Ġreturn Ġjdbc . query For Object ( Source Dao Sql . SQL _ SELECT _ BY _ ID , Ġparams ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrs , Ġ_ Ġ-> ĠSource Dto ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrs . getLong (" id "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrs . getString (" name "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrs . getTimestamp (" reg _ date "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrs . getTimestamp (" mod _ date ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġselect ByName ( name : ĠString ): ĠSource Dto ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠHashMap < String , ĠString >() ĊĠĠĠĠĠĠĠ Ġparams [" name "] Ġ= Ġname ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġjdbc . query For Object ( Source Dao Sql . SQL _ SELECT _ BY _ NAME , Ġparams ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrs , Ġ_ Ġ-> ĠSource Dto ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrs . getLong (" id "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrs . getString (" name "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrs . getTimestamp (" reg _ date "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrs . getTimestamp (" mod _ date ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠEmpty Result Data AccessException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdelete ById ( id : ĠLong ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠHashMap < String , ĠLong >() ĊĠĠĠĠĠĠĠ Ġparams [" source Id "] Ġ= Ġid ĊĊĠĠĠĠĠĠĠ Ġreturn Ġjdbc . update ( Source Dao Sql . SQL _ DELETE _ BY _ ID , Ġparams ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠSource Dao Sql Ġ{ ĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconst Ġval ĠSQL _ SELECT _ BY _ ID Ġ= Ġ" SELECT Ġid , Ġname , Ġreg _ date , Ġmod _ date \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" FROM Ġsource \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" WHERE Ġid =: source Id ;" ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġconst Ġval ĠSQL _ SELECT _ BY _ NAME Ġ= Ġ" SELECT Ġid , Ġname , Ġreg _ date , Ġmod _ date \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" FROM Ġsource \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" WHERE Ġname =: name ;" ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġconst Ġval ĠSQL _ DELETE _ BY _ ID Ġ= Ġ" DELETE ĠFROM Ġsource \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" WHERE Ġid =: source Id ;" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }