<?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="https://www.selikoff.net/2008/09/29/5-tips-to-be-a-good-jdbc-programmer/feed/" rel="self" type="application/rss+xml" />
	<link>https://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>Fri, 14 Oct 2016 10:12:51 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>
		By: Mistakes Java Developers Make when Writing SQL &#8211; Deep Coding Experience and Knowledge for Sharing		</title>
		<link>https://www.selikoff.net/2008/09/29/5-tips-to-be-a-good-jdbc-programmer/comment-page-1/#comment-181509</link>

		<dc:creator><![CDATA[Mistakes Java Developers Make when Writing SQL &#8211; Deep Coding Experience and Knowledge for Sharing]]></dc:creator>
		<pubDate>Fri, 14 Oct 2016 10:12:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=482#comment-181509</guid>

					<description><![CDATA[[&#8230;] this mistake or misbelief still surfaces blogs, forums and mailing lists many years after the appearance of JDBC, even if it is about a very [&#8230;]]]></description>
			<content:encoded><![CDATA[<p>[&#8230;] this mistake or misbelief still surfaces blogs, forums and mailing lists many years after the appearance of JDBC, even if it is about a very [&#8230;]</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Lukas Eder		</title>
		<link>https://www.selikoff.net/2008/09/29/5-tips-to-be-a-good-jdbc-programmer/comment-page-1/#comment-6339</link>

		<dc:creator><![CDATA[Lukas Eder]]></dc:creator>
		<pubDate>Mon, 12 Aug 2013 09:23:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.selikoff.net/blog/?p=482#comment-6339</guid>

					<description><![CDATA[Much of your post makes sense, but #5...

&#062; you can’t even recall exactly what they did when you wrote them.

If you cannot recall that, then you probably cannot recall what table X and table Y were supposed to mean. Then you might as well just dump all data into a single clob and full-text search for it... ;-)

Seriously, that is really not a good reason not to use stored procedures.]]></description>
			<content:encoded><![CDATA[<p>Much of your post makes sense, but #5&#8230;</p>
<p>&gt; you can’t even recall exactly what they did when you wrote them.</p>
<p>If you cannot recall that, then you probably cannot recall what table X and table Y were supposed to mean. Then you might as well just dump all data into a single clob and full-text search for it&#8230; 😉</p>
<p>Seriously, that is really not a good reason not to use stored procedures.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Frank Carver		</title>
		<link>https://www.selikoff.net/2008/09/29/5-tips-to-be-a-good-jdbc-programmer/comment-page-1/#comment-469</link>

		<dc:creator><![CDATA[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><![CDATA[&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>https://www.selikoff.net/2008/09/29/5-tips-to-be-a-good-jdbc-programmer/comment-page-1/#comment-432</link>

		<dc:creator><![CDATA[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><![CDATA[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>https://www.selikoff.net/2008/09/29/5-tips-to-be-a-good-jdbc-programmer/comment-page-1/#comment-358</link>

		<dc:creator><![CDATA[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><![CDATA[As a former backend developer I have three comments:
- About Tip #3 &#038; #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 />
&#8211; 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 />
&#8211; 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 />
&#8211; 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>https://www.selikoff.net/2008/09/29/5-tips-to-be-a-good-jdbc-programmer/comment-page-1/#comment-347</link>

		<dc:creator><![CDATA[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><![CDATA[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>https://www.selikoff.net/2008/09/29/5-tips-to-be-a-good-jdbc-programmer/comment-page-1/#comment-346</link>

		<dc:creator><![CDATA[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><![CDATA[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>https://www.selikoff.net/2008/09/29/5-tips-to-be-a-good-jdbc-programmer/comment-page-1/#comment-345</link>

		<dc:creator><![CDATA[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><![CDATA[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>https://www.selikoff.net/2008/09/29/5-tips-to-be-a-good-jdbc-programmer/comment-page-1/#comment-344</link>

		<dc:creator><![CDATA[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><![CDATA[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>https://www.selikoff.net/2008/09/29/5-tips-to-be-a-good-jdbc-programmer/comment-page-1/#comment-343</link>

		<dc:creator><![CDATA[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><![CDATA[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>
	</channel>
</rss>
