<div dir="ltr">Ok, tudok róla hogy a Spring ezt pl. megoldotta a JdbcTemplate-ben. <div>Igaz bevallom nem néztem bele a forráskódjukba hogy csinálták, de az sem biztos hogy elegáns a megoldásuk :)<div><br></div><div>Joe</div>
</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013. december 1. 17:55 Gábor Lipták írta, <span dir="ltr">&lt;<a href="mailto:gabor.liptak@gmail.com" target="_blank">gabor.liptak@gmail.com</a>&gt;</span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><a href="http://www.mkyong.com/spring/spring-named-parameters-examples-in-simplejdbctemplate/" target="_blank">http://www.mkyong.com/spring/spring-named-parameters-examples-in-simplejdbctemplate/</a><br>
</div><div class="gmail_extra">
<br><br><div class="gmail_quote">2013. december 1. 17:42 József Keresztes írta, <span dir="ltr">&lt;<a href="mailto:xesj.hu@gmail.com" target="_blank">xesj.hu@gmail.com</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div class="h5">
<div dir="ltr"><div>Sziasztok !</div><div><br></div><div>Megnéztem és mivel úgy kb. 300 ember van ezen a levelezőlistán, ennyi embernek kell hogy legyen frappáns ötlete egy látszólag </div><div>egyszerű probléma megoldására. A problémát már régebben is felvetettem, de akkor nem született igazi megoldás,</div>


<div>és mivel én sem oldottam meg azóta (mert nem elég elegánsak a megoldások), újra próbálkozom.</div><div><br></div><div>Arról van szó hogy egy SQL stringben kettősponttal jelöljük a paramétereket például:</div><div><br>


</div><div><font face="courier new, monospace" style="background-color:rgb(243,243,243)" color="#0000ff">String originalSql = &quot;select * from telepules where kod = :x&quot;;</font></div><div><br></div><div>Mivel a JDBC-ben nincs &quot;:x&quot; ezért &quot;?&quot; -re kell alakítani. Erre a megoldás egyszerű, régen alkalmazom a következő kódot: </div>


<div><br></div><font color="#0000ff" face="courier new, monospace">Matcher matcher = Pattern.compile(&quot;:[a-z_0-9]+&quot;, Pattern.CASE_INSENSITIVE).matcher(originalSql);</font><br><div><br></div><div>majd a matcher.find() -dal mindent meg lehet oldani, a &quot;?&quot;-es cserét stb.</div>


<div><br></div><div>Azonban a probléma jelentkezik például egy ilyen sql-nél:</div><div><br></div><div><div><font color="#ff0000" face="courier new, monospace">String originalSql = &quot;select to_char(datum,&#39;hh24:mi:ss&#39;) from telepules where kod = :x&quot;;</font></div>


</div><div><br></div><div>Sajnos az előző pattern-es megoldás nem tudja figyelembe venni hogy aposztrófok között van a :mi és a :ss ezeknek nem kellene megfelelni </div><div>a feltételeknek, csak a :x -nek, csak az utóbbit kellene ?-re cserélni.</div>


<div><br></div><div>Szóval számomra az lenne az elfogadható frappáns megoldás ha ezt kizárólag a regexp kifejezés átírásával lehetne megoldani.</div><div><br></div><div>Ha van erre valakinek megoldása azt szívesen fogadnám.</div>


<div><br></div><div>Joe</div><div><br></div></div>
<br></div></div>_______________________________________________<br>
Javalist mailing list<br>
<a href="mailto:Javalist@lists.javaforum.hu" target="_blank">Javalist@lists.javaforum.hu</a><br>
<a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><br>
<br></blockquote></div><br></div>
<br>_______________________________________________<br>
Javalist mailing list<br>
<a href="mailto:Javalist@lists.javaforum.hu">Javalist@lists.javaforum.hu</a><br>
<a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><br>
<br></blockquote></div><br></div>