package Ġus . m ichael rh odes . stock keeper . data . dao Ċ Ċ import Ġorg . springframework . jdbc . core . named param . Map Sql Parameter Source Ċ import Ġorg . springframework . jdbc . core . named param . Named Parameter Jdbc Template Ċ import Ġorg . springframework . stereotype . Repository Ċ import Ġus . m ichael rh odes . stock keeper . data . orm . Account Row Mapper Ċ import Ġus . m ichael rh odes . stock keeper . entity . Account Ċ import Ġjava . util .* Ċ Ċ @ Repository Ċ class ĠAccount DAO Ġ( private Ġval Ġjdbc Template : ĠNamed Parameter Jdbc Template , ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġaccount Row Mapper : ĠAccount Row Mapper ) Ġ{ ĊĠĠĠ Ġfun ĠgetBy Family Member Uuid ( uuid : ĠUUID ): ĠAccount ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa . uuid , ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa . username ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġaccount Ġa ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJOIN Ġfamily _ member Ġfm ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠON Ġfm . account _ uuid Ġ= Ġa . uuid ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġfm . uuid Ġ= Ġ: family Member Uuid ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġval Ġparameters Ġ= ĠMap Sql Parameter Source () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Value (" family Member Uuid ", Ġuuid ) ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġreturn Ġjdbc Template . query For First ( query , Ġparameters , Ġaccount Row Mapper ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetBy Uuid ( account Uuid : ĠUUID ): ĠAccount ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa . uuid , ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa . username ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġaccount Ġa ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġa . uuid Ġ= Ġ: account Uuid ĊĠĠĠĠĠĠĠ Ġ""" ĊĊĠĠĠĠĠĠĠ Ġval Ġparameters Ġ= ĠMap Sql Parameter Source () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Value (" account Uuid ", Ġaccount Uuid ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġjdbc Template . query For First ( query , Ġparameters , Ġaccount Row Mapper ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinsert ( account : ĠAccount ): ĠAccount Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠINSERT ĠINTO Ġaccount ( uuid , Ġusername ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVALUES Ġ(: uuid , Ġ: username ) ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġval Ġparameters Ġ= ĠMap Sql Parameter Source () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Value (" uuid ", Ġaccount . uuid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Value (" username ", Ġaccount . username ) ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġjdbc Template . update ( query , Ġparameters ) ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġreturn Ġaccount ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetBy Username ( username : ĠString ): ĠAccount ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSELECT ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa . uuid , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa . username ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFROM Ġaccount Ġa ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWHERE Ġa . username Ġ= Ġ: username ĊĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġval Ġparameter Ġ= ĠMap Sql Parameter Source () ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Value (" username ", Ġusername ) ĊĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠ Ġreturn Ġjdbc Template . query For First ( query , Ġparameter , Ġaccount Row Mapper ) ĊĠĠĠ Ġ} Ċ } Ċ