package Ġbr . com . ox ent . sf arma . model . repository Ċ Ċ import Ġbr . com . ox ent . sf arma . model . entity . O cor ren cia Ċ import Ġorg . springframework . beans . factory . annotation . Autowired Ċ import Ġorg . springframework . jdbc . core . Jdbc Template Ċ import Ġorg . springframework . jdbc . core . Row Mapper Ċ import Ġorg . springframework . stereotype . Repository Ċ import Ġjava . sql . ResultSet Ċ import Ġjava . sql . SQLException Ċ Ċ @ Repository Ċ class ĠO cor ren cia DAO Ġ@ Autowired Ċ constructor ( private Ġval Ġjdbc : ĠJdbc Template ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSELECT Ġ= Ġ" SELECT Ġ Ġo co . id , Ġo co . nome , Ġo co . set or _ id , Ġs . nome Ġas Ġset or _ nome Ġ Ġfrom Ġo cor ren cia Ġo co Ġinner Ġjoin Ġset or Ġs Ġon Ġo co . set or _ id Ġ= Ġs . id " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠUP INSERT Ġ= Ġ" INSERT ĠINTO Ġo cor ren cia Ġ( id , Ġset or _ id , Ġnome )\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" VALUES Ġ( ?,?, ? )\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ON ĠCON FLI CT Ġ( id )\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" DO ĠUPDATE ĠSET Ġset or _ id Ġ= ĠEX CL UDE D . set or _ id ," Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnome Ġ= ĠEX CL UDE D . nome ;" ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠNEXT VAL Ġ= Ġ" SELECT Ġnext val (' oc or ren cia _ id _ seq ')" ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠO COR REN CI AS _ DO _ SET OR Ġ= Ġ" WITH ĠRE CUR SIVE Ġsub ord inates ĠAS Ġ(\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠ ĠSELECT Ġid \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠ ĠFROM Ġset or \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠ Ġwhere Ġid Ġ= Ġ( select Ġu . set or _ id Ġfrom Ġusuario Ġu Ġwhere Ġu . login Ġ= Ġ? Ġ) \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠ ĠUNION \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠ ĠSELECT Ġse . id \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠ ĠFROM Ġset or Ġse \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠĠĠĠĠĠ ĠINNER ĠJOIN Ġsub ord inates Ġs ĠON Ġse . id _ p ai Ġ= Ġs . id \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" )\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" select Ġoc . id , Ġoc . set or _ id , Ġoc . nome , Ġ'' Ġas Ġset or _ nome \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" from Ġo cor ren cia Ġoc \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" where Ġexists ( select Ġid Ġfrom Ġsub ord inates Ġwhere Ġid Ġ= Ġoc . set or _ id ) Ġor Ġoc . set or _ id Ġ= Ġ 0 Ġ\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" order Ġby Ġ 1 \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ n " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetNext ID (): ĠInt Ġ= Ġjdbc . query For Object ( NEXT VAL , ĠInt :: class . java ) !! ĊĊĠĠĠ Ġfun ĠgetList (): ĠList < O cor ren cia > Ġ= Ġjdbc . query ( SELECT , ĠO cor ren cia Row Mapper ()) ĊĊĠĠĠ Ġfun Ġget O cor ren cia Do Set or ( login : ĠString ) Ġ= Ġ Ġjdbc . query ( OC OR REN CI AS _ DO _ SET OR , ĠO cor ren cia Row Mapper (), Ġlogin ) ĊĊĊĠĠĠ Ġfun ĠgetTotal (): ĠInt Ġ= Ġjdbc . query For Object (" select Ġcount (*) Ġfrom Ġo cor ren cia ", ĠInt :: class . java ) !! ĊĊĠĠĠ Ġfun Ġset ( oc or ren cia : ĠO cor ren cia ) Ġ{ ĊĠĠĠĠĠĠĠ Ġjdbc . update ( UP INSERT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġo cor ren cia . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġo cor ren cia . set or ID , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġo cor ren cia . nome ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġclass ĠO cor ren cia Row Mapper Ġ: ĠRow Mapper < O cor ren cia > Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Throws ( SQLException :: class ) ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmap Row ( rs : ĠResultSet , Ġi : ĠInt ): ĠO cor ren cia ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠO cor ren cia ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġrs . getInt (" id "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnome Ġ= Ġrs . getString (" nome "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset or ID Ġ= Ġrs . getInt (" set or _ id "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset or Nome Ġ= Ġrs . getString (" set or _ nome ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }