<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: 5 Tips to be a Good JDBC Programmer</title>
	<atom:link href="http://www.selikoff.net/2008/09/29/5-tips-to-be-a-good-jdbc-programmer/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.selikoff.net/2008/09/29/5-tips-to-be-a-good-jdbc-programmer/</link>
	<description>Java/J2EE Software Development and Technology Discussion Blog</description>
	<lastBuildDate>Tue, 07 Feb 2012 22:20:38 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Frank Carver</title>
		<link>http://www.selikoff.net/2008/09/29/5-tips-to-be-a-good-jdbc-programmer/comment-page-1/#comment-469</link>
		<dc:creator>Frank Carver</dc:creator>
		<pubDate>Thu, 16 Oct 2008 13:12:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=482#comment-469</guid>
		<description>&quot;Jim d.&quot; wrote: &quot;why pay for vendor-specific features unless you plan on leveraging them?&quot;

My response is simple: &quot;why pay for vendor-specific features?&quot; If a lower cost (or free) solution meets the needs of the business, use it.

I am happy to pay for speed, robustness, scalability and general quality, but I want the ability to change vendor when a different product offers a better combination of these things.

Vendor-specific database features are simply the old &quot;embrace and extend&quot; technique to ensure lock-in, and the way to avoid that has always been to code to common standards.</description>
		<content:encoded><![CDATA[<p>&#8220;Jim d.&#8221; wrote: &#8220;why pay for vendor-specific features unless you plan on leveraging them?&#8221;</p>
<p>My response is simple: &#8220;why pay for vendor-specific features?&#8221; If a lower cost (or free) solution meets the needs of the business, use it.</p>
<p>I am happy to pay for speed, robustness, scalability and general quality, but I want the ability to change vendor when a different product offers a better combination of these things.</p>
<p>Vendor-specific database features are simply the old &#8220;embrace and extend&#8221; technique to ensure lock-in, and the way to avoid that has always been to code to common standards.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jim d.</title>
		<link>http://www.selikoff.net/2008/09/29/5-tips-to-be-a-good-jdbc-programmer/comment-page-1/#comment-432</link>
		<dc:creator>Jim d.</dc:creator>
		<pubDate>Thu, 09 Oct 2008 20:28:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=482#comment-432</guid>
		<description>I&#039;m torn when it comes to tips #4 and #5.  On one hand, I agree that it can be asking for trouble to rely on proprietary RDBMS features.  On the other hand,  why pay for vendor-specific features unless you plan on leveraging them?</description>
		<content:encoded><![CDATA[<p>I&#8217;m torn when it comes to tips #4 and #5.  On one hand, I agree that it can be asking for trouble to rely on proprietary RDBMS features.  On the other hand,  why pay for vendor-specific features unless you plan on leveraging them?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Omar</title>
		<link>http://www.selikoff.net/2008/09/29/5-tips-to-be-a-good-jdbc-programmer/comment-page-1/#comment-358</link>
		<dc:creator>Omar</dc:creator>
		<pubDate>Tue, 30 Sep 2008 16:40:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=482#comment-358</guid>
		<description>As a former backend developer I have three comments:
- About Tip #3 &amp; #5: In my experience repository never change &quot;almost specific situations&quot;, and this is always because of the money related to this change. So why not design to take advantage of that special feature Oracle or MySQL has.
- About Persistence Frameworks:
My first contact with Spring was because of the nice abstraction that brings JdbcTemplate. These kind of frameworks: SpringJdbc, iBatis, Hibernate, JPA, addresses diferent kind of problems (sometimes overlaps), but they bring a different level of abstraction, away from a bunch of boiler code that implies the use of JDBC.
- You forgot *TESTING*. This is a must in the persistence frameworks that I mentioned before.</description>
		<content:encoded><![CDATA[<p>As a former backend developer I have three comments:<br />
- About Tip #3 &amp; #5: In my experience repository never change &#8220;almost specific situations&#8221;, and this is always because of the money related to this change. So why not design to take advantage of that special feature Oracle or MySQL has.<br />
- About Persistence Frameworks:<br />
My first contact with Spring was because of the nice abstraction that brings JdbcTemplate. These kind of frameworks: SpringJdbc, iBatis, Hibernate, JPA, addresses diferent kind of problems (sometimes overlaps), but they bring a different level of abstraction, away from a bunch of boiler code that implies the use of JDBC.<br />
- You forgot *TESTING*. This is a must in the persistence frameworks that I mentioned before.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeanne</title>
		<link>http://www.selikoff.net/2008/09/29/5-tips-to-be-a-good-jdbc-programmer/comment-page-1/#comment-347</link>
		<dc:creator>Jeanne</dc:creator>
		<pubDate>Tue, 30 Sep 2008 00:58:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=482#comment-347</guid>
		<description>I particularly like tip #2.  An additional reason I like is the ability to pass in dates as objects rather than having to deal with database formatting.</description>
		<content:encoded><![CDATA[<p>I particularly like tip #2.  An additional reason I like is the ability to pass in dates as objects rather than having to deal with database formatting.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: scott</title>
		<link>http://www.selikoff.net/2008/09/29/5-tips-to-be-a-good-jdbc-programmer/comment-page-1/#comment-346</link>
		<dc:creator>scott</dc:creator>
		<pubDate>Mon, 29 Sep 2008 22:22:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=482#comment-346</guid>
		<description>Thanks Daniel,

It&#039;s true batch PreparedStatement&#039;s are excellent for bulk operations, but I tend to file those features under the category of &#039;advanced JDBC&#039;.  The majority of beginner-to-intermediate JDBC programmers can get by without knowing much about them;  unless of course your application is highly dependent on bulk operations.</description>
		<content:encoded><![CDATA[<p>Thanks Daniel,</p>
<p>It&#8217;s true batch PreparedStatement&#8217;s are excellent for bulk operations, but I tend to file those features under the category of &#8216;advanced JDBC&#8217;.  The majority of beginner-to-intermediate JDBC programmers can get by without knowing much about them;  unless of course your application is highly dependent on bulk operations.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Pietraru</title>
		<link>http://www.selikoff.net/2008/09/29/5-tips-to-be-a-good-jdbc-programmer/comment-page-1/#comment-345</link>
		<dc:creator>Daniel Pietraru</dc:creator>
		<pubDate>Mon, 29 Sep 2008 22:15:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=482#comment-345</guid>
		<description>Nice to the point article. I would add one more thing: use batch prepared statements for bulk operations.</description>
		<content:encoded><![CDATA[<p>Nice to the point article. I would add one more thing: use batch prepared statements for bulk operations.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Frank Carver</title>
		<link>http://www.selikoff.net/2008/09/29/5-tips-to-be-a-good-jdbc-programmer/comment-page-1/#comment-344</link>
		<dc:creator>Frank Carver</dc:creator>
		<pubDate>Mon, 29 Sep 2008 22:02:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=482#comment-344</guid>
		<description>And, I guess, consider using one of the many database frameworks and libraries which could help address lots of these points in one go.</description>
		<content:encoded><![CDATA[<p>And, I guess, consider using one of the many database frameworks and libraries which could help address lots of these points in one go.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: scott</title>
		<link>http://www.selikoff.net/2008/09/29/5-tips-to-be-a-good-jdbc-programmer/comment-page-1/#comment-343</link>
		<dc:creator>scott</dc:creator>
		<pubDate>Mon, 29 Sep 2008 21:13:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=482#comment-343</guid>
		<description>Hi Alef,

Thanks for your comments. I do agree Spring makes a lot of JDBC programming easier, unfortunately the vast majority of JDBC developers still work with straight JDBC connections outside of any good framework. In fact, some JDBC programmers code from within JSPs (the horror!). Perhaps I should add that as a 6th tip.</description>
		<content:encoded><![CDATA[<p>Hi Alef,</p>
<p>Thanks for your comments. I do agree Spring makes a lot of JDBC programming easier, unfortunately the vast majority of JDBC developers still work with straight JDBC connections outside of any good framework. In fact, some JDBC programmers code from within JSPs (the horror!). Perhaps I should add that as a 6th tip.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mittal</title>
		<link>http://www.selikoff.net/2008/09/29/5-tips-to-be-a-good-jdbc-programmer/comment-page-1/#comment-340</link>
		<dc:creator>Mittal</dc:creator>
		<pubDate>Mon, 29 Sep 2008 20:51:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=482#comment-340</guid>
		<description>Spring-iBatis and plain-iBatis also works very well - specially with existing database&#039;s

I do agree - don&#039;t use stored procedure unless really required to do some massive batch operations.</description>
		<content:encoded><![CDATA[<p>Spring-iBatis and plain-iBatis also works very well &#8211; specially with existing database&#8217;s</p>
<p>I do agree &#8211; don&#8217;t use stored procedure unless really required to do some massive batch operations.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alef Arendsen</title>
		<link>http://www.selikoff.net/2008/09/29/5-tips-to-be-a-good-jdbc-programmer/comment-page-1/#comment-339</link>
		<dc:creator>Alef Arendsen</dc:creator>
		<pubDate>Mon, 29 Sep 2008 19:38:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=482#comment-339</guid>
		<description>Hi Scott,

nice article. I don&#039;t know if you have seen Spring&#039;s JDBC template. It&#039;s probably a pattern that has been implemented by many people before, but the application of the template/callback patterns make JDBC programming a breeze. In addition to everything you&#039;re mentioning above, the JDBC template gives you exception translation as well, essentially preventing you from ever having to read another ORA error code again.

cheers,
Alef
Disclaimer: I do work for SpringSource</description>
		<content:encoded><![CDATA[<p>Hi Scott,</p>
<p>nice article. I don&#8217;t know if you have seen Spring&#8217;s JDBC template. It&#8217;s probably a pattern that has been implemented by many people before, but the application of the template/callback patterns make JDBC programming a breeze. In addition to everything you&#8217;re mentioning above, the JDBC template gives you exception translation as well, essentially preventing you from ever having to read another ORA error code again.</p>
<p>cheers,<br />
Alef<br />
Disclaimer: I do work for SpringSource</p>
]]></content:encoded>
	</item>
</channel>
</rss>

