<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>The Art of Coding</title>
	<atom:link href="http://artofcoding.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://artofcoding.wordpress.com</link>
	<description>Programação</description>
	<lastBuildDate>Tue, 15 Sep 2009 05:27:41 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='artofcoding.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>The Art of Coding</title>
		<link>http://artofcoding.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://artofcoding.wordpress.com/osd.xml" title="The Art of Coding" />
	<atom:link rel='hub' href='http://artofcoding.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Mudança</title>
		<link>http://artofcoding.wordpress.com/2009/09/15/mudanca/</link>
		<comments>http://artofcoding.wordpress.com/2009/09/15/mudanca/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 05:27:41 +0000</pubDate>
		<dc:creator>Henrique</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[mudança gilgalab]]></category>

		<guid isPermaLink="false">http://artofcoding.wordpress.com/2009/09/15/mudanca/</guid>
		<description><![CDATA[Fala povo :) Seguinte, decidi reavivar a idéia do blog e dessa vez me esforçar pra levar mais a sério. Para assumir tal compromisso comigo mesmo até registrei um domínio onde coloquei o blog. Ele pode ser acessado por http://www.gilgalab.com.br Os novos posts serão todos feitos lá. Grande abraço!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofcoding.wordpress.com&amp;blog=2008168&amp;post=33&amp;subd=artofcoding&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Fala povo :)<br />
Seguinte, decidi reavivar a idéia do blog e dessa vez me esforçar pra levar mais a sério. Para assumir tal compromisso comigo mesmo até registrei um domínio onde coloquei o blog. Ele pode ser acessado por <a href="http://www.gilgalab.com.br">http://www.gilgalab.com.br</a><br />
Os novos posts serão todos feitos lá.</p>
<p>Grande abraço!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/artofcoding.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/artofcoding.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/artofcoding.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/artofcoding.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/artofcoding.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/artofcoding.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/artofcoding.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/artofcoding.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/artofcoding.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/artofcoding.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/artofcoding.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/artofcoding.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/artofcoding.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/artofcoding.wordpress.com/33/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofcoding.wordpress.com&amp;blog=2008168&amp;post=33&amp;subd=artofcoding&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://artofcoding.wordpress.com/2009/09/15/mudanca/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/60916b9091ebc34e2c574fb9952cf6f4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Henrique</media:title>
		</media:content>
	</item>
		<item>
		<title>Dica: Source Code Highlighter</title>
		<link>http://artofcoding.wordpress.com/2008/03/22/dica-source-code-highlighter/</link>
		<comments>http://artofcoding.wordpress.com/2008/03/22/dica-source-code-highlighter/#comments</comments>
		<pubDate>Sat, 22 Mar 2008 13:36:28 +0000</pubDate>
		<dc:creator>Henrique</dc:creator>
				<category><![CDATA[Outros]]></category>

		<guid isPermaLink="false">http://artofcoding.wordpress.com/2008/03/22/dica-source-code-highlighter/</guid>
		<description><![CDATA[Fala pessoal! Quando estava escrevendo os posts aqui para o blog, precisava de uma ferramenta que me ajudasse a colorir o código e me fornecesse o html para ele colorido. Depois de experimentar várias ferramentas por aí, a mais bacana que encontrei e com suporte ao maior número de linguagens foi o Quick Highliter. Você [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofcoding.wordpress.com&amp;blog=2008168&amp;post=9&amp;subd=artofcoding&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Fala pessoal!</p>
<p>Quando estava escrevendo os posts aqui para o blog, precisava de uma ferramenta que me ajudasse a colorir o código e me fornecesse o html para ele colorido. Depois de experimentar várias ferramentas por aí, a mais bacana que encontrei e com suporte ao maior número de linguagens foi o <a href="http://quickhighlighter.com/">Quick Highliter</a>.</p>
<p><a href="http://artofcoding.files.wordpress.com/2008/03/quickhighlighter.jpg" title="quickhighlighter.jpg"></a></p>
<div style="text-align:center;"><a href="http://artofcoding.files.wordpress.com/2008/03/quickhighlighter.jpg" target="_blank" title="quickhighlighter.jpg"><img src="http://artofcoding.files.wordpress.com/2008/03/quickhighlighter.thumbnail.jpg?w=480" alt="quickhighlighter.jpg" /></a></div>
<p>Você digita o código na linguagem desejada, seleciona no drop down a linguagem que está utilizando, define as opções que deseja e seu código sai colorido! Outra coisa bacana é que ele também faz indentação.<br />
Para aqueles que gostam de um código fácil de ler e bem organizado, tá ai uma ótima dica.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/artofcoding.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/artofcoding.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/artofcoding.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/artofcoding.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/artofcoding.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/artofcoding.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/artofcoding.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/artofcoding.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/artofcoding.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/artofcoding.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/artofcoding.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/artofcoding.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/artofcoding.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/artofcoding.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/artofcoding.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/artofcoding.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofcoding.wordpress.com&amp;blog=2008168&amp;post=9&amp;subd=artofcoding&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://artofcoding.wordpress.com/2008/03/22/dica-source-code-highlighter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/60916b9091ebc34e2c574fb9952cf6f4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Henrique</media:title>
		</media:content>

		<media:content url="http://artofcoding.files.wordpress.com/2008/03/quickhighlighter.thumbnail.jpg" medium="image">
			<media:title type="html">quickhighlighter.jpg</media:title>
		</media:content>
	</item>
		<item>
		<title>Java: Conectando-se ao MySQL</title>
		<link>http://artofcoding.wordpress.com/2008/03/21/java-conectando-se-ao-mysql/</link>
		<comments>http://artofcoding.wordpress.com/2008/03/21/java-conectando-se-ao-mysql/#comments</comments>
		<pubDate>Fri, 21 Mar 2008 18:47:02 +0000</pubDate>
		<dc:creator>Henrique</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://artofcoding.wordpress.com/?p=8</guid>
		<description><![CDATA[Olá pessoas, Aqui estou de novo tentando voltar a postar hehehe. Hoje vou mostrar um exemplo simples de classe em Java para se conectar ao MySQL, para que mais pra frente eu possa mostrar algumas coisas bacanas para se fazer com JSP + TagLibs + MySQL + Servlets :) (Não sou grande fã de usar [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofcoding.wordpress.com&amp;blog=2008168&amp;post=8&amp;subd=artofcoding&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Olá pessoas,</p>
<p>Aqui estou de novo tentando voltar a postar hehehe. Hoje vou mostrar um exemplo simples de classe em Java para se conectar ao MySQL, para que mais pra frente eu possa mostrar algumas coisas bacanas para se fazer com JSP + TagLibs + MySQL + Servlets :) (Não sou grande fã de usar frameworks quando ainda não conheço bem a linguagem).<br />
Bom, chega de lenga lenga, e vamos ao que interessa :D</p>
<p>Para poder brincar você vai precisar do MyConnector/J instalado. Ele pode ser obtido em: <a href="http://dev.mysql.com/downloads/connector/j/5.1.html" title="Mysql Connector/J 5.1" target="_blank">http://dev.mysql.com/downloads/connector/j/5.1.html!</a><br />
Ao baixar o Connector/J você encontrará dentro do .zip (ou do .tar.gz) um arquivo com o nome parecido com: <b>mysql-connector-java-5.1.5-bin.jar</b>. Certifique-se que você adicionará esse arquivo ao seu CLASSPATH pois ele será necessário para que os exemplos que usaremos funcionem.</p>
<p>Agora vamos criar um banco de dados simples para utilizarmos nos nossos exemplos:</p>
<div class="mysql" style="font-family:monospace;color:#006;border:1px solid #d0d0d0;background-color:#f0f0f0;"><span style="color:#993333;font-weight:bold;">CREATE DATABASE</span> projeto;<br />
<span style="color:#993333;font-weight:bold;">USE</span> projeto;<br />
<span style="color:#993333;font-weight:bold;">CREATE TABLE</span> usuario <span style="color:#66cc66;">&#40;</span><br />
&nbsp; &nbsp;id_usuario <span style="color:#aa9933;font-weight:bold;">INT</span> <span style="color:#aa3399;font-weight:bold;">NOT NULL</span> <span style="color:#993333;font-weight:bold;">PRIMARY KEY</span> <span style="color:#aa3399;font-weight:bold;">AUTO_INCREMENT</span><br />
&nbsp; &nbsp;,nome <span style="color:#aa9933;font-weight:bold;">VARCHAR</span><span style="color:#66cc66;">&#40;</span><span style="color:#cc66cc;">100</span><span style="color:#66cc66;">&#41;</span><br />
&nbsp; &nbsp;,idade <span style="color:#aa9933;font-weight:bold;">INT</span><span style="color:#66cc66;">&#40;</span><span style="color:#cc66cc;">3</span><span style="color:#66cc66;">&#41;</span><br />
<span style="color:#66cc66;">&#41;</span>;</div>
<p>E aqui inserimos alguns dados, para podermos consulta-los.</p>
<div class="mysql" style="font-family:monospace;color:#006;border:1px solid #d0d0d0;background-color:#f0f0f0;"><span style="color:#993333;font-weight:bold;">INSERT</span> <span style="color:#993333;font-weight:bold;">INTO</span> usuario <span style="color:#66cc66;">&#40;</span><br />
&nbsp; &nbsp;nome<br />
&nbsp; &nbsp;,idade<br />
<span style="color:#66cc66;">&#41;</span> <span style="color:#993333;font-weight:bold;">VALUES</span> <span style="color:#66cc66;">&#40;</span><br />
&nbsp; &nbsp;<span style="color:#ff0000;">&quot;Henrique&quot;</span><br />
&nbsp; &nbsp;,<span style="color:#cc66cc;">22</span><br />
<span style="color:#66cc66;">&#41;</span>;</p>
<p><span style="color:#993333;font-weight:bold;">INSERT</span> <span style="color:#993333;font-weight:bold;">INTO</span> usuario <span style="color:#66cc66;">&#40;</span><br />
&nbsp; &nbsp;nome<br />
&nbsp; &nbsp;,idade<br />
<span style="color:#66cc66;">&#41;</span> <span style="color:#993333;font-weight:bold;">VALUES</span> <span style="color:#66cc66;">&#40;</span><br />
&nbsp; &nbsp;<span style="color:#ff0000;">&quot;José&quot;</span><br />
&nbsp; &nbsp;,<span style="color:#cc66cc;">35</span><br />
<span style="color:#66cc66;">&#41;</span>;</p>
<p><span style="color:#993333;font-weight:bold;">INSERT</span> <span style="color:#993333;font-weight:bold;">INTO</span> usuario <span style="color:#66cc66;">&#40;</span><br />
&nbsp; &nbsp;nome<br />
&nbsp; &nbsp;,idade<br />
<span style="color:#66cc66;">&#41;</span> <span style="color:#993333;font-weight:bold;">VALUES</span> <span style="color:#66cc66;">&#40;</span><br />
&nbsp; &nbsp;<span style="color:#ff0000;">&quot;Andreia&quot;</span><br />
&nbsp; &nbsp;,<span style="color:#cc66cc;">21</span><br />
<span style="color:#66cc66;">&#41;</span>;</div>
<p>Vou começar com uma classe bem simples, que simplesmente se conecta ao MySQL, e ao longo do texto vamos incrementa-la para que faça mais coisas. Vamos então a primeira classe:</p>
<div class="java5" style="font:monospace 11px;color:#006;border:1px solid #d0d0d0;background-color:#f0f0f0;"><span style="color:#000000;font-weight:bold;">package</span> com.<span style="color:#006600;">heap</span>.<span style="color:#006600;">db</span>;</p>
<p><span style="color:#000000;font-weight:bold;">import</span> java.<span style="color:#006600;">sql</span>.<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/DriverManager.html"><span style="color:#aaaadd;font-weight:bold;">DriverManager</span></a>;<br />
<span style="color:#000000;font-weight:bold;">import</span> java.<span style="color:#006600;">sql</span>.<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html"><span style="color:#aaaadd;font-weight:bold;">SQLException</span></a>;<br />
<span style="color:#000000;font-weight:bold;">import</span> java.<span style="color:#006600;">sql</span>.<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html"><span style="color:#aaaadd;font-weight:bold;">Connection</span></a>;</p>
<p><span style="color:#000000;font-weight:bold;">public</span> <span style="color:#000000;font-weight:bold;">class</span> MySQL <span style="color:#66cc66;">&#123;</span></p>
<p>&nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">private</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> host;<br />
&nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">private</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> user;<br />
&nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">private</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> pass;<br />
&nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">private</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> database;<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">public</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html"><span style="color:#aaaadd;font-weight:bold;">Connection</span></a> c;<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color:#808080;font-style:italic;">/**<br />
&nbsp; &nbsp; &nbsp;* Construtor da classe<br />
&nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp;* @param host Host em que se deseja conectar <br />
&nbsp; &nbsp; &nbsp;* @param database Nome do database em que se deseja conectar<br />
&nbsp; &nbsp; &nbsp;* @param user Nome do usuário<br />
&nbsp; &nbsp; &nbsp;* @param pass Senha do usuário<br />
&nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">public</span> MySQL<span style="color:#66cc66;">&#40;</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> host, <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> database, <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> user, <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> pass <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">this</span>.<span style="color:#006600;">pass</span> = pass;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">this</span>.<span style="color:#006600;">user</span> = user;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">this</span>.<span style="color:#006600;">host</span> = host;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">this</span>.<span style="color:#006600;">database</span> = database;<br />
&nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color:#808080;font-style:italic;">/**<br />
&nbsp; &nbsp; &nbsp;* Método que estabelece a conexão com o banco de dados<br />
&nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp;* @return True se conseguir conectar, falso em caso contrário.<br />
&nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">public</span> <span style="color:#993333;">boolean</span> connect<span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#993333;">boolean</span> isConnected = <span style="color:#b13366;">false</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> url;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; url = <span style="color:#ff0000;">&quot;jdbc:mysql://&quot;</span>+<span style="color:#000000;font-weight:bold;">this</span>.<span style="color:#006600;">host</span>+<span style="color:#ff0000;">&quot;/&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +<span style="color:#000000;font-weight:bold;">this</span>.<span style="color:#006600;">database</span>+<span style="color:#ff0000;">&quot;?&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +<span style="color:#ff0000;">&quot;user=&quot;</span>+<span style="color:#000000;font-weight:bold;">this</span>.<span style="color:#006600;">user</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +<span style="color:#ff0000;">&quot;&amp;password=&quot;</span>+<span style="color:#000000;font-weight:bold;">this</span>.<span style="color:#006600;">pass</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">try</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html"><span style="color:#aaaadd;font-weight:bold;">Class</span></a>.<span style="color:#006600;">forName</span><span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;com.mysql.jdbc.Driver&quot;</span><span style="color:#66cc66;">&#41;</span>.<span style="color:#006600;">newInstance</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span>url<span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">this</span>.<span style="color:#006600;">c</span> = <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/DriverManager.html"><span style="color:#aaaadd;font-weight:bold;">DriverManager</span></a>.<span style="color:#006600;">getConnection</span><span style="color:#66cc66;">&#40;</span>url<span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; isConnected = <span style="color:#b13366;">true</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span> <span style="color:#000000;font-weight:bold;">catch</span><span style="color:#66cc66;">&#40;</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html"><span style="color:#aaaadd;font-weight:bold;">SQLException</span></a> e <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.<span style="color:#006600;">printStackTrace</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span>e.<span style="color:#006600;">getMessage</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; isConnected = <span style="color:#b13366;">false</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span> <span style="color:#000000;font-weight:bold;">catch</span> <span style="color:#66cc66;">&#40;</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ClassNotFoundException.html"><span style="color:#aaaadd;font-weight:bold;">ClassNotFoundException</span></a> e <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.<span style="color:#006600;">printStackTrace</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span>e.<span style="color:#006600;">getMessage</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; isConnected = <span style="color:#b13366;">false</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span> <span style="color:#000000;font-weight:bold;">catch</span> <span style="color:#66cc66;">&#40;</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/InstantiationException.html"><span style="color:#aaaadd;font-weight:bold;">InstantiationException</span></a> e <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.<span style="color:#006600;">printStackTrace</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span>e.<span style="color:#006600;">getMessage</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; isConnected = <span style="color:#b13366;">false</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span> <span style="color:#000000;font-weight:bold;">catch</span> <span style="color:#66cc66;">&#40;</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalAccessException.html"><span style="color:#aaaadd;font-weight:bold;">IllegalAccessException</span></a> e <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.<span style="color:#006600;">printStackTrace</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span>e.<span style="color:#006600;">getMessage</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; isConnected = <span style="color:#b13366;">false</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">return</span> isConnected;<br />
&nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span><br />
<span style="color:#66cc66;">&#125;</span><br />
&nbsp;</div>
<p>Código bastante simples como podemos perceber. A primeira linha indica que essa classe pertence ao pacote <b>com.heap.db</b>. É importante ressaltar isso, porque teremos de importar esse código para dentro da nossa classe que será o nosso programa de verdade, que chamará o método de conexão. Perceba também que no código eu não faço nenhum tratamento especial para as exceptions, apenos imprimo o erro. Essa não é uma técnica muito bacana, pois podemos perder informações. Eu gost de criar uma outra classe que faça o handle das exceptions e salve os erros em algum lugar, para que eu possa consulta-los se ncessário, mas em nosso caso aqui é o bastante apenas imprimi-las.</p>
<div class="java5" style="font:monospace 11px;color:#006;border:1px solid #d0d0d0;background-color:#f0f0f0;"><span style="color:#000000;font-weight:bold;">import</span> com.<span style="color:#006600;">heap</span>.<span style="color:#006600;">db</span>.<span style="color:#006600;">MySQL</span>;</p>
<p><span style="color:#000000;font-weight:bold;">public</span> <span style="color:#000000;font-weight:bold;">class</span> TesteDB <span style="color:#66cc66;">&#123;</span></p>
<p>&nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">public</span> <span style="color:#000000;font-weight:bold;">static</span> <span style="color:#993333;">void</span> main <span style="color:#66cc66;">&#40;</span><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> <span style="color:#66cc66;">&#91;</span><span style="color:#66cc66;">&#93;</span> args<span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; MySQL db = <span style="color:#000000;font-weight:bold;">new</span> MySQL<span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;localhost&quot;</span>,<span style="color:#ff0000;">&quot;projeto&quot;</span>,<span style="color:#ff0000;">&quot;root&quot;</span>,<span style="color:#ff0000;">&quot;12345&quot;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#b1b100;">if</span> <span style="color:#66cc66;">&#40;</span> db.<span style="color:#006600;">connect</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;Conectado!&quot;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span>;<br />
&nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span><br />
&nbsp; &nbsp; <br />
<span style="color:#66cc66;">&#125;</span><br />
&nbsp;</div>
<p>Logo na primeira linha desse código é feito o import da classe que se conecta ao MySQL. No método main() criamos uma instancia da classe MySQL com os parametros para especificar onde estamos conectando, e logo na sequência chamamos o método para conectar.<br />
Agora é hora de testar isso tudo. Então apenas para motivos de esclarecimento, vamos dar uma olhada em como ficou a estrutura do nosso diretório.</p>
<p>C:\Projeto<br />
¦&nbsp;&nbsp;&nbsp;TesteDB.class<br />
¦&nbsp;&nbsp;&nbsp;TesteDB.java<br />
¦<br />
+&#8212;com<br />
¦&nbsp;&nbsp;&nbsp;+&#8212;heap<br />
¦&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+&#8212;db<br />
¦&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL.class<br />
¦&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL.java<br />
¦<br />
+&#8212;lib<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mysql-connector-java-5.1.5-bin.jar</p>
<p>No meu caso já se pode ver os arquivos .class pois já compilei o código, mas aqui vai a forma como iremos compilar:</p>
<p>À partir da raiz do projeto (No meu caso aqui C:\Projeto (Sim, estou usando windows porque estou escrevendo isso do computador do trabalho :|))<br />
<b>javac -cp . com\heap\db\MySQL.java</b><br />
<b>javac -cp . TesteDB.java</b></p>
<p>Agora que tudo está compilado, basta rodar!</p>
<p><b>java TesteDB</b><br />
<i>java.lang.ClassNotFoundException: com.mysql.jdbc.Driver<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.net.URLClassLoader$1.run(URLClassLoader.java:200)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.security.AccessController.doPrivileged(Native Method)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.net.URLClassLoader.findClass(URLClassLoader.java:188)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.lang.ClassLoader.loadClass(ClassLoader.java:306)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.lang.ClassLoader.loadClass(ClassLoader.java:251)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.lang.Class.forName0(Native Method)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at java.lang.Class.forName(Class.java:169)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at com.heap.db.MySQL.connect(MySQL.java:32)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;at TesteDB.main(TesteDB.java:7)<br />
com.mysql.jdbc.Driver</i></p>
<p>Oops! Algo saiu errado. Lembram-se no começo quando eu disse que precisavamos do Mysql Connector/J e que ele estivesse no CLASSPATH? Bem, como da pra notar na estrutura de diretórios, eu coloquei o Connector/J no diretório lib porém não fiz referência a essa lib quando fui rodar o programa, o que causou o erro. Então vamos rodar o comando correto e ver o que acontece:</p>
<p><b>java -cp .;lib\mysql-connector-java-5.1.5-bin.jar TesteDB</b><br />
<i>jdbc:mysql://localhost/projeto?user=root&amp;password=12345<br />
Conectado!</i></p>
<p>Como pode perceber, agora parece que tudo funcionou! A opção -cp do comando java diz ao interpretador qual o CLASSPATH a utilizar. Nesse caso mandei que utilizasse o diretório atual, e o arquivo .jar do Connector/J.</p>
<p>Muito legal isso tudo, porém uma classe que simplesmente conecta no banco é bastante inútil. Vamos então melhorar a nossa classe MySQL, adicionando algums métodos para que possamos consultar dados.</p>
<p>O primeiro método que irei adicionar é um que recebe uma query como parametro e retorna um ResultSet. O ResultSet nada mais é do que um resource que representa a tabela. Eis o código:</p>
<div class="java5" style="font:monospace 11px;color:#006;border:1px solid #d0d0d0;background-color:#f0f0f0;"><span style="color:#808080;font-style:italic;">/**<br />
&nbsp; &nbsp; &nbsp;* Esse método executa a query dada, e retorna um ResultSet<br />
&nbsp; &nbsp; &nbsp;* Talvez fosse melhor idéia fazer esse método lançar uma exception<br />
&nbsp; &nbsp; &nbsp;* a faze-lo retornar null como eu fiz, porém isso é apenas um exemplo<br />
&nbsp; &nbsp; &nbsp;* para demonstrar a funcionalidade do comando execute<br />
&nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp;* @param query String contendo a query que se deseja executar<br />
&nbsp; &nbsp; &nbsp;* @return ResultSet em caso de estar tudo Ok, null em caso de erro.<br />
&nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">public</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSet.html"><span style="color:#aaaadd;font-weight:bold;">ResultSet</span></a> executar<span style="color:#66cc66;">&#40;</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> query <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?sitesearch=java.sun.com&amp;q=allinurl%3Aj2se%2F1+5+0%2Fdocs%2Fapi+Statement"><span style="color:#aaaadd;font-weight:bold;">Statement</span></a> st;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSet.html"><span style="color:#aaaadd;font-weight:bold;">ResultSet</span></a> rs;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">try</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; st = <span style="color:#000000;font-weight:bold;">this</span>.<span style="color:#006600;">c</span>.<span style="color:#006600;">createStatement</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rs = st.<span style="color:#006600;">executeQuery</span><span style="color:#66cc66;">&#40;</span>query<span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">return</span> rs;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span> <span style="color:#000000;font-weight:bold;">catch</span> <span style="color:#66cc66;">&#40;</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html"><span style="color:#aaaadd;font-weight:bold;">SQLException</span></a> e <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.<span style="color:#006600;">printStackTrace</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">return</span> <span style="color:#b13366;">null</span>;<br />
&nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span></div>
<p>Nesse trecho de código, criamos um <b>Statement</b> a partir da nossa conexão. O objeto <b>Statement</b> nos permite executar comando no nosso banco de dados.<br />
E para testar esse código, nós iremos rodar uma query contra o nosso banco de dados que criamos no começo desse texto. O nosso código da classe TesteDB vai ficar dessa maneira:</p>
<div class="java5" style="font:monospace 11px;color:#006;border:1px solid #d0d0d0;background-color:#f0f0f0;"><span style="color:#000000;font-weight:bold;">import</span> java.<span style="color:#006600;">sql</span>.<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSet.html"><span style="color:#aaaadd;font-weight:bold;">ResultSet</span></a>;<br />
<span style="color:#000000;font-weight:bold;">import</span> java.<span style="color:#006600;">sql</span>.<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html"><span style="color:#aaaadd;font-weight:bold;">SQLException</span></a>;</p>
<p><span style="color:#000000;font-weight:bold;">import</span> com.<span style="color:#006600;">heap</span>.<span style="color:#006600;">db</span>.<span style="color:#006600;">MySQL</span>;</p>
<p><span style="color:#000000;font-weight:bold;">public</span> <span style="color:#000000;font-weight:bold;">class</span> TesteDB <span style="color:#66cc66;">&#123;</span></p>
<p>&nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">public</span> <span style="color:#000000;font-weight:bold;">static</span> <span style="color:#993333;">void</span> main <span style="color:#66cc66;">&#40;</span><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> <span style="color:#66cc66;">&#91;</span><span style="color:#66cc66;">&#93;</span> args<span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; MySQL db = <span style="color:#000000;font-weight:bold;">new</span> MySQL<span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;localhost&quot;</span>,<span style="color:#ff0000;">&quot;projeto&quot;</span>,<span style="color:#ff0000;">&quot;root&quot;</span>,<span style="color:#ff0000;">&quot;12345&quot;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> query;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#b1b100;">if</span> <span style="color:#66cc66;">&#40;</span> db.<span style="color:#006600;">connect</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;Conectado!&quot;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;Rodando uma query contra o banco&quot;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; query = <span style="color:#ff0000;">&quot;select * from usuario&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSet.html"><span style="color:#aaaadd;font-weight:bold;">ResultSet</span></a> rs = db.<span style="color:#006600;">executar</span><span style="color:#66cc66;">&#40;</span>query<span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">try</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#b1b100;">if</span> <span style="color:#66cc66;">&#40;</span> rs != <span style="color:#b13366;">null</span> <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span> <span style="color:#808080;font-style:italic;">// Verifica se a query retornou algo</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#b1b100;">while</span> <span style="color:#66cc66;">&#40;</span> rs.<span style="color:#006600;">next</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#808080;font-style:italic;">// Podemos referenciar a coluna pelo índice</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;Id: &quot;</span> + rs.<span style="color:#006600;">getInt</span><span style="color:#66cc66;">&#40;</span><span style="color:#cc66cc;">1</span><span style="color:#66cc66;">&#41;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#808080;font-style:italic;">// Ou pelo seu nome</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;Nome: &quot;</span> + rs.<span style="color:#006600;">getString</span><span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;nome&quot;</span><span style="color:#66cc66;">&#41;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;Idade: &quot;</span> + rs.<span style="color:#006600;">getInt</span><span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;idade&quot;</span><span style="color:#66cc66;">&#41;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&quot;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span> <span style="color:#000000;font-weight:bold;">catch</span> <span style="color:#66cc66;">&#40;</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html"><span style="color:#aaaadd;font-weight:bold;">SQLException</span></a> e <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.<span style="color:#006600;">printStackTrace</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span>;<br />
&nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span><br />
&nbsp; &nbsp; <br />
<span style="color:#66cc66;">&#125;</span><br />
&nbsp;</div>
<p>Recompile e rode esse código da mesma forma que fizemos lá em cima, você deve ter uma saída como essa:</p>
<p><i>jdbc:mysql://localhost/projeto?user=root&amp;password=12345<br />
Conectado!<br />
Rodando uma query contra o banco<br />
Id: 1<br />
Nome: Henrique<br />
Idade: 22<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Id: 2<br />
Nome: Jos‚<br />
Idade: 35<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Id: 3<br />
Nome: Andreia<br />
Idade: 21<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</i></p>
<p>No código você pode reparar que eu referenciei as colunas tanto utilizando um índice (cada coluna tem um índice numérico que vai de 1, representando a primeira coluna da tabela, até N onde N é o número de colunas na tabela). Repare também que para cada tipo de dados que a tabela possui utilizamos um método get distinto. Para a lista de métodos get que se pode utilizar, consulte a documentação do <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSet.html"> ResultSet </a>.<br />
Já melhoramso bastante! Agora nossa classe já tem uma função, ela consulta dados na nossa base! Vamos ver então como podemos ecrever um método para inserir dados em nossa tabela. De volta na classe MySQL adicione o seguinte método:</p>
<div class="java5" style="font:monospace 11px;color:#006;border:1px solid #d0d0d0;background-color:#f0f0f0;"><span style="color:#808080;font-style:italic;">/**<br />
&nbsp; &nbsp; &nbsp;* Executa uma query como update, delete ou insert.<br />
&nbsp; &nbsp; &nbsp;* Retorna o número de registros afetados quando falamos de um update ou delete<br />
&nbsp; &nbsp; &nbsp;* ou retorna 1 quando o insert é bem sucedido. Em outros casos retorna -1<br />
&nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp;* @param query A query que se deseja executar<br />
&nbsp; &nbsp; &nbsp;* @return 0 para um insert bem sucedido. -1 para erro<br />
&nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">public</span> <span style="color:#993333;">int</span> inserir<span style="color:#66cc66;">&#40;</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> query <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?sitesearch=java.sun.com&amp;q=allinurl%3Aj2se%2F1+5+0%2Fdocs%2Fapi+Statement"><span style="color:#aaaadd;font-weight:bold;">Statement</span></a> st;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#993333;">int</span> result = <span style="color:#cc66cc;">-1</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">try</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; st = <span style="color:#000000;font-weight:bold;">this</span>.<span style="color:#006600;">c</span>.<span style="color:#006600;">createStatement</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; result = st.<span style="color:#006600;">executeUpdate</span><span style="color:#66cc66;">&#40;</span>query<span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span> <span style="color:#000000;font-weight:bold;">catch</span> <span style="color:#66cc66;">&#40;</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html"><span style="color:#aaaadd;font-weight:bold;">SQLException</span></a> e <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.<span style="color:#006600;">printStackTrace</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">return</span> result;<br />
&nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span></div>
<p>Esse método poderá ser utilizado tanto para inserir dados, como para apagar ou atualizar. Novamente criamos um <b>Statement</b> e chamamos um método para executar a nossa query. Para maiores informações sobre os métodos da classe <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html">Statement</a> consulte a documentação.</p>
<p>Vejamos então como ficou a nossa classe MySQL completa, e um programa de exemplo que a utiliza.</p>
<p><b>MySQL.java</b></p>
<div class="java5" style="font:monospace 11px;color:#006;border:1px solid #d0d0d0;background-color:#f0f0f0;"><span style="color:#000000;font-weight:bold;">package</span> com.<span style="color:#006600;">heap</span>.<span style="color:#006600;">db</span>;</p>
<p><span style="color:#000000;font-weight:bold;">import</span> java.<span style="color:#006600;">sql</span>.<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/DriverManager.html"><span style="color:#aaaadd;font-weight:bold;">DriverManager</span></a>;<br />
<span style="color:#000000;font-weight:bold;">import</span> java.<span style="color:#006600;">sql</span>.<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSet.html"><span style="color:#aaaadd;font-weight:bold;">ResultSet</span></a>;<br />
<span style="color:#000000;font-weight:bold;">import</span> java.<span style="color:#006600;">sql</span>.<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html"><span style="color:#aaaadd;font-weight:bold;">SQLException</span></a>;<br />
<span style="color:#000000;font-weight:bold;">import</span> java.<span style="color:#006600;">sql</span>.<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html"><span style="color:#aaaadd;font-weight:bold;">Connection</span></a>;<br />
<span style="color:#000000;font-weight:bold;">import</span> java.<span style="color:#006600;">sql</span>.<a href="http://www.google.com/search?sitesearch=java.sun.com&amp;q=allinurl%3Aj2se%2F1+5+0%2Fdocs%2Fapi+Statement"><span style="color:#aaaadd;font-weight:bold;">Statement</span></a>;</p>
<p><span style="color:#000000;font-weight:bold;">public</span> <span style="color:#000000;font-weight:bold;">class</span> MySQL <span style="color:#66cc66;">&#123;</span></p>
<p>&nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">private</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> host;<br />
&nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">private</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> user;<br />
&nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">private</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> pass;<br />
&nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">private</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> database;<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">public</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html"><span style="color:#aaaadd;font-weight:bold;">Connection</span></a> c;<br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color:#808080;font-style:italic;">/**<br />
&nbsp; &nbsp; &nbsp;* Construtor da classe<br />
&nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp;* @param host Host em que se deseja conectar <br />
&nbsp; &nbsp; &nbsp;* @param database Nome do database em que se deseja conectar<br />
&nbsp; &nbsp; &nbsp;* @param user Nome do usuário<br />
&nbsp; &nbsp; &nbsp;* @param pass Senha do usuário<br />
&nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">public</span> MySQL<span style="color:#66cc66;">&#40;</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> host, <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> database, <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> user, <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> pass <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">this</span>.<span style="color:#006600;">pass</span> = pass;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">this</span>.<span style="color:#006600;">user</span> = user;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">this</span>.<span style="color:#006600;">host</span> = host;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">this</span>.<span style="color:#006600;">database</span> = database;<br />
&nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color:#808080;font-style:italic;">/**<br />
&nbsp; &nbsp; &nbsp;* Método que estabelece a conexão com o banco de dados<br />
&nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp;* @return True se conseguir conectar, falso em caso contrário.<br />
&nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">public</span> <span style="color:#993333;">boolean</span> connect<span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#993333;">boolean</span> isConnected = <span style="color:#b13366;">false</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> url;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; url = <span style="color:#ff0000;">&quot;jdbc:mysql://&quot;</span>+<span style="color:#000000;font-weight:bold;">this</span>.<span style="color:#006600;">host</span>+<span style="color:#ff0000;">&quot;/&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +<span style="color:#000000;font-weight:bold;">this</span>.<span style="color:#006600;">database</span>+<span style="color:#ff0000;">&quot;?&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +<span style="color:#ff0000;">&quot;user=&quot;</span>+<span style="color:#000000;font-weight:bold;">this</span>.<span style="color:#006600;">user</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +<span style="color:#ff0000;">&quot;&amp;password=&quot;</span>+<span style="color:#000000;font-weight:bold;">this</span>.<span style="color:#006600;">pass</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">try</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html"><span style="color:#aaaadd;font-weight:bold;">Class</span></a>.<span style="color:#006600;">forName</span><span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;com.mysql.jdbc.Driver&quot;</span><span style="color:#66cc66;">&#41;</span>.<span style="color:#006600;">newInstance</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span>url<span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">this</span>.<span style="color:#006600;">c</span> = <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/DriverManager.html"><span style="color:#aaaadd;font-weight:bold;">DriverManager</span></a>.<span style="color:#006600;">getConnection</span><span style="color:#66cc66;">&#40;</span>url<span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; isConnected = <span style="color:#b13366;">true</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span> <span style="color:#000000;font-weight:bold;">catch</span><span style="color:#66cc66;">&#40;</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html"><span style="color:#aaaadd;font-weight:bold;">SQLException</span></a> e <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.<span style="color:#006600;">printStackTrace</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span>e.<span style="color:#006600;">getMessage</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; isConnected = <span style="color:#b13366;">false</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span> <span style="color:#000000;font-weight:bold;">catch</span> <span style="color:#66cc66;">&#40;</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ClassNotFoundException.html"><span style="color:#aaaadd;font-weight:bold;">ClassNotFoundException</span></a> e <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.<span style="color:#006600;">printStackTrace</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span>e.<span style="color:#006600;">getMessage</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; isConnected = <span style="color:#b13366;">false</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span> <span style="color:#000000;font-weight:bold;">catch</span> <span style="color:#66cc66;">&#40;</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/InstantiationException.html"><span style="color:#aaaadd;font-weight:bold;">InstantiationException</span></a> e <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.<span style="color:#006600;">printStackTrace</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span>e.<span style="color:#006600;">getMessage</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; isConnected = <span style="color:#b13366;">false</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span> <span style="color:#000000;font-weight:bold;">catch</span> <span style="color:#66cc66;">&#40;</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalAccessException.html"><span style="color:#aaaadd;font-weight:bold;">IllegalAccessException</span></a> e <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.<span style="color:#006600;">printStackTrace</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span>e.<span style="color:#006600;">getMessage</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; isConnected = <span style="color:#b13366;">false</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">return</span> isConnected;<br />
&nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color:#808080;font-style:italic;">/**<br />
&nbsp; &nbsp; &nbsp;* Esse método executa a query dada, e retorna um ResultSet<br />
&nbsp; &nbsp; &nbsp;* Talvez fosse melhor idéia fazer esse método lançar uma exception<br />
&nbsp; &nbsp; &nbsp;* a faze-lo retornar null como eu fiz, porém isso é apenas um exemplo<br />
&nbsp; &nbsp; &nbsp;* para demonstrar a funcionalidade do comando execute<br />
&nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp;* @param query String contendo a query que se deseja executar<br />
&nbsp; &nbsp; &nbsp;* @return ResultSet em caso de estar tudo Ok, null em caso de erro.<br />
&nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">public</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSet.html"><span style="color:#aaaadd;font-weight:bold;">ResultSet</span></a> executar<span style="color:#66cc66;">&#40;</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> query <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?sitesearch=java.sun.com&amp;q=allinurl%3Aj2se%2F1+5+0%2Fdocs%2Fapi+Statement"><span style="color:#aaaadd;font-weight:bold;">Statement</span></a> st;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSet.html"><span style="color:#aaaadd;font-weight:bold;">ResultSet</span></a> rs;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">try</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; st = <span style="color:#000000;font-weight:bold;">this</span>.<span style="color:#006600;">c</span>.<span style="color:#006600;">createStatement</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rs = st.<span style="color:#006600;">executeQuery</span><span style="color:#66cc66;">&#40;</span>query<span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">return</span> rs;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span> <span style="color:#000000;font-weight:bold;">catch</span> <span style="color:#66cc66;">&#40;</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html"><span style="color:#aaaadd;font-weight:bold;">SQLException</span></a> e <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.<span style="color:#006600;">printStackTrace</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">return</span> <span style="color:#b13366;">null</span>;<br />
&nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color:#808080;font-style:italic;">/**<br />
&nbsp; &nbsp; &nbsp;* Executa uma query como update, delete ou insert.<br />
&nbsp; &nbsp; &nbsp;* Retorna o número de registros afetados quando falamos de um update ou delete<br />
&nbsp; &nbsp; &nbsp;* ou retorna 1 quando o insert é bem sucedido. Em outros casos retorna -1<br />
&nbsp; &nbsp; &nbsp;* <br />
&nbsp; &nbsp; &nbsp;* @param query A query que se deseja executar<br />
&nbsp; &nbsp; &nbsp;* @return 0 para um insert bem sucedido. -1 para erro<br />
&nbsp; &nbsp; &nbsp;*/</span><br />
&nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">public</span> <span style="color:#993333;">int</span> inserir<span style="color:#66cc66;">&#40;</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> query <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?sitesearch=java.sun.com&amp;q=allinurl%3Aj2se%2F1+5+0%2Fdocs%2Fapi+Statement"><span style="color:#aaaadd;font-weight:bold;">Statement</span></a> st;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#993333;">int</span> result = <span style="color:#cc66cc;">-1</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">try</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; st = <span style="color:#000000;font-weight:bold;">this</span>.<span style="color:#006600;">c</span>.<span style="color:#006600;">createStatement</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; result = st.<span style="color:#006600;">executeUpdate</span><span style="color:#66cc66;">&#40;</span>query<span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span> <span style="color:#000000;font-weight:bold;">catch</span> <span style="color:#66cc66;">&#40;</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html"><span style="color:#aaaadd;font-weight:bold;">SQLException</span></a> e <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.<span style="color:#006600;">printStackTrace</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">return</span> result;<br />
&nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span><br />
<span style="color:#66cc66;">&#125;</span><br />
&nbsp;</div>
<p><b>TesteDB.java</b></p>
<div class="java5" style="font:monospace 11px;color:#006;border:1px solid #d0d0d0;background-color:#f0f0f0;"><span style="color:#000000;font-weight:bold;">import</span> java.<span style="color:#006600;">sql</span>.<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSet.html"><span style="color:#aaaadd;font-weight:bold;">ResultSet</span></a>;<br />
<span style="color:#000000;font-weight:bold;">import</span> java.<span style="color:#006600;">sql</span>.<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html"><span style="color:#aaaadd;font-weight:bold;">SQLException</span></a>;</p>
<p><span style="color:#000000;font-weight:bold;">import</span> com.<span style="color:#006600;">heap</span>.<span style="color:#006600;">db</span>.<span style="color:#006600;">MySQL</span>;</p>
<p><span style="color:#000000;font-weight:bold;">public</span> <span style="color:#000000;font-weight:bold;">class</span> TesteDB <span style="color:#66cc66;">&#123;</span></p>
<p>&nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">public</span> <span style="color:#000000;font-weight:bold;">static</span> <span style="color:#993333;">void</span> main <span style="color:#66cc66;">&#40;</span><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> <span style="color:#66cc66;">&#91;</span><span style="color:#66cc66;">&#93;</span> args<span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; MySQL db = <span style="color:#000000;font-weight:bold;">new</span> MySQL<span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;localhost&quot;</span>,<span style="color:#ff0000;">&quot;projeto&quot;</span>,<span style="color:#ff0000;">&quot;root&quot;</span>,<span style="color:#ff0000;">&quot;12345&quot;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color:#aaaadd;font-weight:bold;">String</span></a> query;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#993333;">int</span> result;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#b1b100;">if</span> <span style="color:#66cc66;">&#40;</span> db.<span style="color:#006600;">connect</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;Conectado!&quot;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;Rodando uma query contra o banco&quot;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; query = <span style="color:#ff0000;">&quot;select * from usuario&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSet.html"><span style="color:#aaaadd;font-weight:bold;">ResultSet</span></a> rs = db.<span style="color:#006600;">executar</span><span style="color:#66cc66;">&#40;</span>query<span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#000000;font-weight:bold;">try</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#b1b100;">if</span> <span style="color:#66cc66;">&#40;</span> rs != <span style="color:#b13366;">null</span> <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span> <span style="color:#808080;font-style:italic;">// Verifica se a query retornou algo</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#b1b100;">while</span> <span style="color:#66cc66;">&#40;</span> rs.<span style="color:#006600;">next</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#808080;font-style:italic;">// Podemos referenciar a coluna pelo índice</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;Id: &quot;</span> + rs.<span style="color:#006600;">getInt</span><span style="color:#66cc66;">&#40;</span><span style="color:#cc66cc;">1</span><span style="color:#66cc66;">&#41;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#808080;font-style:italic;">// Ou pelo seu nome</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;Nome: &quot;</span> + rs.<span style="color:#006600;">getString</span><span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;nome&quot;</span><span style="color:#66cc66;">&#41;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;Idade: &quot;</span> + rs.<span style="color:#006600;">getInt</span><span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;idade&quot;</span><span style="color:#66cc66;">&#41;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&quot;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span> <span style="color:#000000;font-weight:bold;">catch</span> <span style="color:#66cc66;">&#40;</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html"><span style="color:#aaaadd;font-weight:bold;">SQLException</span></a> e <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.<span style="color:#006600;">printStackTrace</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;Inserindo dados na tabela&quot;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; query = <span style="color:#ff0000;">&quot;insert into usuario (nome, idade) values (&#8216;Maria&#8217;,23)&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; result = db.<span style="color:#006600;">inserir</span><span style="color:#66cc66;">&#40;</span>query<span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#b1b100;">if</span> <span style="color:#66cc66;">&#40;</span> &nbsp;result &gt; <span style="color:#cc66cc;">-1</span> <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;Dado inserido com sucesso! Resutlt = &quot;</span> + result<span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span> <span style="color:#b1b100;">else</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;Erro inserindo dado.&quot;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; query = <span style="color:#ff0000;">&quot;update usuario set idade = 99&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; result = db.<span style="color:#006600;">inserir</span><span style="color:#66cc66;">&#40;</span>query<span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#b1b100;">if</span> <span style="color:#66cc66;">&#40;</span> &nbsp;result &gt; <span style="color:#cc66cc;">-1</span> <span style="color:#66cc66;">&#41;</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;Dado inserido com sucesso! Resutlt = &quot;</span> + result<span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span> <span style="color:#b1b100;">else</span> <span style="color:#66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color:#aaaadd;font-weight:bold;">System</span></a>.<span style="color:#006600;">out</span>.<span style="color:#006600;">println</span><span style="color:#66cc66;">&#40;</span><span style="color:#ff0000;">&quot;Erro inserindo dado.&quot;</span><span style="color:#66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span>;<br />
&nbsp; &nbsp; &nbsp; <span style="color:#66cc66;">&#125;</span><br />
&nbsp; &nbsp; <br />
<span style="color:#66cc66;">&#125;</span><br />
&nbsp;</div>
<p>O procedimento para compilar e rodar é o mesmo que seguimos lá no começo.<br />
Bom, por hoje é só pessoas! Espero que esse pequeno tutorial possa ajudar aqueles que como eu estão começando! Continuem estudando e boa sorte!<br />
No próximo vamos falar de coisas pouco mais avançadas e ainda mais divertidas.</p>
<p>Para maiores informações consulte os links:<br />
<a target="_blank" href="http://dev.mysql.com/doc/refman/5.0/en/connector-j-usagenotes-basic.html">MySQL AB: Basic JDBC Concepts</a><br />
<a target="_blank" href="http://java.sun.com/j2se/1.5.0/docs/api/overview-summary.html">Java Documentation</a><br />
<a target="_blank" href="http://www.google.com">Google</a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/artofcoding.wordpress.com/8/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/artofcoding.wordpress.com/8/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/artofcoding.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/artofcoding.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/artofcoding.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/artofcoding.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/artofcoding.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/artofcoding.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/artofcoding.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/artofcoding.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/artofcoding.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/artofcoding.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/artofcoding.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/artofcoding.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/artofcoding.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/artofcoding.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofcoding.wordpress.com&amp;blog=2008168&amp;post=8&amp;subd=artofcoding&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://artofcoding.wordpress.com/2008/03/21/java-conectando-se-ao-mysql/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/60916b9091ebc34e2c574fb9952cf6f4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Henrique</media:title>
		</media:content>
	</item>
		<item>
		<title>PL/SQL Oracle: Identificando o último dia da semana no mês</title>
		<link>http://artofcoding.wordpress.com/2008/01/29/plsql-oracle-identificando-o-ultimo-dia-da-semana-no-mes/</link>
		<comments>http://artofcoding.wordpress.com/2008/01/29/plsql-oracle-identificando-o-ultimo-dia-da-semana-no-mes/#comments</comments>
		<pubDate>Tue, 29 Jan 2008 16:05:48 +0000</pubDate>
		<dc:creator>Henrique</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[PL/SQL]]></category>

		<guid isPermaLink="false">http://artofcoding.wordpress.com/?p=6</guid>
		<description><![CDATA[Fala pessoal! Fiquei sumido desde o primeiro post. A vida está uma correria, e mal tenho tido tempo de fazer qualquer coisa :&#124; Bom, estava no trabalho dia desses e precisava de uma lógica para identificar qual é o último dia do mês que caia durante a semana. Depois de pesquisar um pouco como poderia [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofcoding.wordpress.com&amp;blog=2008168&amp;post=6&amp;subd=artofcoding&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Fala pessoal!</p>
<p>Fiquei sumido desde o primeiro post. A vida está uma correria, e mal tenho tido tempo de fazer qualquer coisa :|<br />
Bom, estava no trabalho dia desses e precisava de uma lógica para identificar qual é o último dia do mês que caia durante a semana. Depois de pesquisar um pouco como poderia fazer isso, e pensar por alguns instante, cheguei ao seguinte código.</p>
<div>
<div class="oracle8">
<ol>
<li>
<div style="font-family:'Courier New', Courier, monospace;font-weight:normal;"><span style="color:#993333;font-weight:bold;text-transform:uppercase;">DECLARE</span></div>
</li>
<li>
<div style="font-family:'Courier New', Courier, monospace;font-weight:normal;">&nbsp; &nbsp;v_ultimo_dia <span style="color:#993333;font-weight:bold;text-transform:uppercase;">VARCHAR2</span><span style="color:#66cc66;">&#40;</span><span style="color:#cc66cc;">10</span><span style="color:#66cc66;">&#41;</span>;</div>
</li>
<li>
<div style="font-family:'Courier New', Courier, monospace;font-weight:normal;">&nbsp;</div>
</li>
<li>
<div style="font-family:'Courier New', Courier, monospace;font-weight:normal;"><span style="color:#993333;font-weight:bold;text-transform:uppercase;">BEGIN</span></div>
</li>
<li>
<div style="font-family:'Courier New', Courier, monospace;font-weight:normal;">&nbsp;</div>
</li>
<li>
<div style="font-family:'Courier New', Courier, monospace;font-weight:normal;">&nbsp; &nbsp;v_ultimo_dia := <span style="color:#993333;font-weight:bold;text-transform:uppercase;">TO_CHAR</span><span style="color:#66cc66;">&#40;</span><span style="color:#993333;font-weight:bold;text-transform:uppercase;">LAST_DAY</span><span style="color:#66cc66;">&#40;</span><span style="color:#993333;font-weight:bold;text-transform:uppercase;">SYSDATE</span><span style="color:#66cc66;">&#41;</span>,<span style="color:#ff0000;">&#8216;D&#8217;</span><span style="color:#66cc66;">&#41;</span>;</div>
</li>
<li>
<div style="font-family:'Courier New', Courier, monospace;font-weight:normal;">&nbsp; &nbsp;<span style="color:#993333;font-weight:bold;text-transform:uppercase;">IF</span> v_ultimo_dia = <span style="color:#cc66cc;">7</span> <span style="color:#993333;font-weight:bold;text-transform:uppercase;">THEN</span>&nbsp; <span style="color:#808080;font-style:italic;">&#8211; Sabado</span></div>
</li>
<li>
<div style="font-family:'Courier New', Courier, monospace;font-weight:normal;">&nbsp; &nbsp; &nbsp; v_ultimo_dia := <span style="color:#993333;font-weight:bold;text-transform:uppercase;">TO_CHAR</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#40;</span><span style="color:#993333;font-weight:bold;text-transform:uppercase;">LAST_DAY</span><span style="color:#66cc66;">&#40;</span><span style="color:#993333;font-weight:bold;text-transform:uppercase;">SYSDATE</span><span style="color:#66cc66;">&#41;</span>-<span style="color:#cc66cc;">1</span><span style="color:#66cc66;">&#41;</span>,<span style="color:#ff0000;">&#8216;DD/MM/YYYY&#8217;</span><span style="color:#66cc66;">&#41;</span>;</div>
</li>
<li>
<div style="font-family:'Courier New', Courier, monospace;font-weight:normal;">&nbsp; &nbsp;<span style="color:#993333;font-weight:bold;text-transform:uppercase;">ELSIF</span> v_ultimo_dia = <span style="color:#cc66cc;">1</span> <span style="color:#993333;font-weight:bold;text-transform:uppercase;">THEN</span> <span style="color:#808080;font-style:italic;">&#8211; Domingo</span></div>
</li>
<li>
<div style="font-family:'Courier New', Courier, monospace;font-weight:normal;">&nbsp; &nbsp; &nbsp; v_ultimo_dia := <span style="color:#993333;font-weight:bold;text-transform:uppercase;">TO_CHAR</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#40;</span><span style="color:#993333;font-weight:bold;text-transform:uppercase;">LAST_DAY</span><span style="color:#66cc66;">&#40;</span><span style="color:#993333;font-weight:bold;text-transform:uppercase;">SYSDATE</span><span style="color:#66cc66;">&#41;</span>-<span style="color:#cc66cc;">2</span><span style="color:#66cc66;">&#41;</span>,<span style="color:#ff0000;">&#8216;DD/MM/YYYY&#8217;</span><span style="color:#66cc66;">&#41;</span>;</div>
</li>
<li>
<div style="font-family:'Courier New', Courier, monospace;font-weight:normal;">&nbsp; &nbsp;<span style="color:#993333;font-weight:bold;text-transform:uppercase;">ELSE</span></div>
</li>
<li>
<div style="font-family:'Courier New', Courier, monospace;font-weight:normal;">&nbsp; &nbsp; &nbsp; v_ultimo_dia := <span style="color:#993333;font-weight:bold;text-transform:uppercase;">TO_CHAR</span><span style="color:#66cc66;">&#40;</span><span style="color:#66cc66;">&#40;</span><span style="color:#993333;font-weight:bold;text-transform:uppercase;">LAST_DAY</span><span style="color:#66cc66;">&#40;</span><span style="color:#993333;font-weight:bold;text-transform:uppercase;">SYSDATE</span><span style="color:#66cc66;">&#41;</span><span style="color:#66cc66;">&#41;</span>,<span style="color:#ff0000;">&#8216;DD/MM/YYYY&#8217;</span><span style="color:#66cc66;">&#41;</span>;</div>
</li>
<li>
<div style="font-family:'Courier New', Courier, monospace;font-weight:normal;">&nbsp; &nbsp;<span style="color:#993333;font-weight:bold;text-transform:uppercase;">END</span> <span style="color:#993333;font-weight:bold;text-transform:uppercase;">IF</span>;</div>
</li>
<li>
<div style="font-family:'Courier New', Courier, monospace;font-weight:normal;"><span style="color:#993333;font-weight:bold;text-transform:uppercase;">END</span>; </div>
</li>
</ol>
</div>
</div>
<p>A variável &#8220;v_ultimo_dia&#8221; agora contém a data no formato DD/MM/YYYY do último dia do mês atual.<br />
E essa foi uma dica rápida para hoje.<br />
De agora em diante, quando o tempo para postar for curto, pretendo tentar postar dicas rápidas, e eventualmente postar textos mais detalhados sobre coisas mais específicas.<br />
Espero que todos aproveitem.</p>
<p>Até o próximo ;)</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/artofcoding.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/artofcoding.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/artofcoding.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/artofcoding.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/artofcoding.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/artofcoding.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/artofcoding.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/artofcoding.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/artofcoding.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/artofcoding.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/artofcoding.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/artofcoding.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/artofcoding.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/artofcoding.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/artofcoding.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/artofcoding.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofcoding.wordpress.com&amp;blog=2008168&amp;post=6&amp;subd=artofcoding&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://artofcoding.wordpress.com/2008/01/29/plsql-oracle-identificando-o-ultimo-dia-da-semana-no-mes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/60916b9091ebc34e2c574fb9952cf6f4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Henrique</media:title>
		</media:content>
	</item>
		<item>
		<title>Bootstrap Simples</title>
		<link>http://artofcoding.wordpress.com/2007/11/02/bootstrap-simples/</link>
		<comments>http://artofcoding.wordpress.com/2007/11/02/bootstrap-simples/#comments</comments>
		<pubDate>Fri, 02 Nov 2007 23:41:15 +0000</pubDate>
		<dc:creator>Henrique</dc:creator>
				<category><![CDATA[Assembly]]></category>
		<category><![CDATA[Sistemas Operacionais]]></category>

		<guid isPermaLink="false">http://artofcoding.wordpress.com/2007/11/02/bootstrap-simples/</guid>
		<description><![CDATA[0. Introdução Esse fim de semana andei estudando um pouco de assembly. Decidi fazer um bootstrap para ver se me animava um pouco, e acabou me voltando a vontade de realmente brincar de criar o meu sistema operacional. Como tudo precisa de um começo, decidi que o bootstrap seria um belo lugar para começar. Vejamos [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofcoding.wordpress.com&amp;blog=2008168&amp;post=3&amp;subd=artofcoding&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>0. Introdução</p>
<p>Esse fim de semana andei estudando um pouco de assembly. Decidi fazer um bootstrap para ver se me animava um pouco, e acabou me voltando a vontade de realmente brincar de criar o meu sistema operacional. Como tudo precisa de um começo, decidi que o bootstrap seria um belo lugar para começar.<br />
Vejamos então como é que fazemos para dar um boot na maquina e o que é que a(o) BIOS (Basic Input Output System) espera para iniciar o sistema operacional.<br />
Quando o computador inicia e o POST termina, a BIOS faz uma chamada para ler o primeiro setor do disco que está definido como primário no setup. Funciona assim:</p>
<p>a) Olha o primeiro setor do disco definido no setup<br />
b) Encontrou setor de boot válido?<br />
c) Sim. Lê o setor e carrega o código para o segmento 7C00h na memória.<br />
d) Não. Parte para o próximo dispositivo da lista de boot e vai para a) até encontrar.<br />
e) Caso não encontre em nenhum dos dispositivos, exibe mensagem de erro padrão da BIOS.</p>
<p>A Lista de software que usei:<br />
1. NASM &#8211; Para compilar o código<br />
2. QEMU &#8211; Maquina virtual que uso para testar o setor de boot<br />
3. dd   &#8211; Utilizado para escrever os dados no disco</p>
<p>1. O setor de boot</p>
<p>Quando definimos o disco no qual desejamos dar o boot, a BIOS chama uma interrupção (19h se nao me engano), para ler o primeiro setor desse disco. O primeiro setor é o que se encontra na posição CHS (Cylinder Head Sector) 0:0:1. Cada setor no disco tem 512 bytes, então como a BIOS lê o primeiro setor do disco, nosso &#8216;programa&#8217; precisa ter 512 bytes ou menos. Meu objetivo aqui não é de falar muito sobre HCS, maiores informações você pode encontrar <a href="http://en.wikipedia.org/wiki/Cylinder-head-sector">aqui</a>.<br />
O que identifica se temos um setor de boot válido ou não?<br />
O setor de boot tem uma &#8216;assinatura&#8217;, os últimos dois bytes do setor devem ser &#8217;0xAA55&#8242;. Quando essa assinatura é encontrada, os 512 bytes são carregados para a memória na posição 7C00h e o programa é executado.</p>
<p>2. O código</p>
<p>Como já diria o conde Drácula em &#8216;Castlevania: Symphony of the Night&#8217;: &#8220;Enough talk!&#8221;.<br />
Vamos dar uma olhada então em um código bem simples, que imprime uma string na tela.</p>
<pre>
<span style="font-style:italic;color:#808080;">; Boot.asm</span>

<span style="font-weight:bold;color:#000000;">ORG</span><span style="color:#000000;"> </span><span style="color:#008080;">7C00h</span><span style="color:#000000;">                   </span><span style="font-style:italic;color:#808080;">; Posição onde estaremos quando o código for</span>

<span style="color:#000000;">                            </span><span style="font-style:italic;color:#808080;">; carregado para a memória</span>

<span style="color:#000080;">mymsg:</span><span style="color:#000000;"> </span><span style="color:#800000;">db</span><span style="color:#000000;"> </span><span style="color:#dd0000;">'Olá Setor de BOOT'</span><span style="color:#000000;">,</span><span style="color:#0000ff;">10</span><span style="color:#000000;">,</span><span style="color:#0000ff;">0</span>

<span style="font-weight:bold;color:#000000;">xor</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">ax</span><span style="color:#000000;">,</span><span style="font-weight:bold;color:#000000;">ax</span><span style="color:#000000;">                   </span><span style="font-style:italic;color:#808080;">; Limpando ax</span>

<span style="font-weight:bold;color:#000000;">mov</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">si</span><span style="color:#000000;">,mymsg                </span><span style="font-style:italic;color:#808080;">; Nossa mensagem em SI</span>

<span style="color:#000080;">putstr:</span>
<span style="color:#000000;">        </span><span style="font-weight:bold;color:#000000;">lodsb</span><span style="color:#000000;">               </span><span style="font-style:italic;color:#808080;">; Coloca o byte apontado em SI em AL, e incrementa</span>
<span style="color:#000000;">                            </span><span style="font-style:italic;color:#808080;">; o contador</span>

<span style="color:#000000;">        </span><span style="font-weight:bold;color:#000000;">or</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">al</span><span style="color:#000000;">,</span><span style="font-weight:bold;color:#000000;">al</span><span style="color:#000000;">            </span><span style="font-style:italic;color:#808080;">; Verificamos se encontramos o byte '0' da string</span>
<span style="color:#000000;">        </span><span style="font-weight:bold;color:#000000;">jz</span><span style="color:#000000;"> hang</span><span style="font-style:italic;color:#808080;">;            ; Se sim, paramos de imprimir</span>
<span style="color:#000000;">        </span><span style="font-weight:bold;color:#000000;">mov</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">ah</span><span style="color:#000000;">,</span><span style="color:#008080;">0x0E</span><span style="color:#000000;">         </span><span style="font-style:italic;color:#808080;">; Função para escrever</span>

<span style="color:#000000;">        </span><span style="font-weight:bold;color:#000000;">mov</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">bx</span><span style="color:#000000;">,</span><span style="color:#008080;">0x0007</span><span style="color:#000000;">       </span><span style="font-style:italic;color:#808080;">; Define a página e a cor onde escrevemos</span>
<span style="color:#000000;">        </span><span style="font-weight:bold;color:#000000;">int</span><span style="color:#000000;"> </span><span style="color:#008080;">0x10</span><span style="color:#000000;">            </span><span style="font-style:italic;color:#808080;">; Interrupção de video</span>
<span style="color:#000000;">        </span><span style="font-weight:bold;color:#000000;">jmp</span><span style="color:#000000;"> putstr          </span><span style="font-style:italic;color:#808080;">; Imprimir proximo caracter</span>

<span style="color:#000080;">hang:</span>
<span style="color:#000000;">        </span><span style="font-weight:bold;color:#000000;">jmp</span><span style="color:#000000;"> hang            </span><span style="font-style:italic;color:#808080;">; Após impressão, entramos em loop infinito</span>

<span style="color:#800000;">times</span><span style="color:#000000;"> </span><span style="color:#0000ff;">512</span><span style="color:#000000;">-(</span><span style="color:#0000ff;">$</span><span style="color:#000000;">-</span><span style="color:#0000ff;">$$</span><span style="color:#000000;">)-</span><span style="color:#0000ff;">2</span><span style="color:#000000;"> </span><span style="color:#800000;">DB</span><span style="color:#000000;"> </span><span style="color:#0000ff;">0</span><span style="color:#000000;">     </span><span style="font-style:italic;color:#808080;">; Preenchemos o resto da memória com '0's</span>

<span style="color:#000000;">                            </span><span style="font-style:italic;color:#808080;">; até 510 bytes</span>
<span style="color:#800000;">DW</span><span style="color:#000000;"> </span><span style="color:#008080;">0xAA55</span><span style="color:#000000;">                   </span><span style="font-style:italic;color:#808080;">; Assinatura do setor de boot</span></pre>
<p>Acredito que o código esteja auto explicativo. Você deve precisar manjar um pouco de assembly, então se não entendeu o código, procure estudar um pouquinho de assembly.<br />
Vamos agora compilar o nosso código, criar um disco para o QEMU, e escrever o nosso setor de boot no disco.</p>
<p>$ nasm boot.asm -f bin -o boot.bin<br />
$ qemu-img create /tmp/boot.img -f qcow 1M<br />
$ dd if=boot.bin of=/tmp/boot.img</p>
<p>Com isso feito, basta agora executar o QEMU e dizer que desejamos usar o arquivo /tmp/boot.img como nosso disco.</p>
<p>$ qemu /tmp/boot.img -m 16</p>
<p>O resultado é a nossa frase impressa logo após a BIOS fazer o POST.</p>
<p>3. Colocando código no Disco</p>
<p>Bom, agora que já sabemos dar o boot, está na hora de colocarmos código no disco e executar esse código. Esse é um processo um pouco mais complicado, mas vamos que vamos!<br />
A idéia agora é fazer com que o nosso programa de boot chame um binario que esteja gravado no disco e o execute. Então precisaremos escrever dois programas distintos: Um para ser o nosso setor de boot, e um que será chamado por ele. &#8220;Show me the code&#8221;</p>
<pre>
<span style="font-style:italic;color:#808080;">; Boot2.asm</span>

<span style="font-weight:bold;color:#000000;">ORG</span><span style="color:#000000;"> </span><span style="color:#008080;">7C00h</span>

<span style="font-weight:bold;color:#000000;">mov</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">si</span><span style="color:#000000;">,msg</span>

<span style="color:#000080;">prntMsg:</span><span style="color:#000000;">                    </span><span style="font-style:italic;color:#808080;">; Imprime a mensagem em SI</span>
<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">lodsb</span>
<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">mov</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">ah</span><span style="color:#000000;">,</span><span style="color:#008080;">0x0E</span>

<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">mov</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">bx</span><span style="color:#000000;">,</span><span style="color:#008080;">0x0007</span>
<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">int</span><span style="color:#000000;"> </span><span style="color:#008080;">10h</span>
<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">or</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">al</span><span style="color:#000000;">,</span><span style="font-weight:bold;color:#000000;">al</span>

<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">jnz</span><span style="color:#000000;"> prntMsg</span>

<span style="font-weight:bold;color:#000000;">mov</span><span style="color:#000000;"> [drv],</span><span style="font-weight:bold;color:#000000;">dl</span><span style="color:#000000;">                </span><span style="font-style:italic;color:#808080;">; DL contém o identificador da unidade em que </span>
<span style="color:#000000;">                            </span><span style="font-style:italic;color:#808080;">; o setor de boot foi encontrado</span>

<span style="font-style:italic;color:#808080;">; Inicializar o disco. Aqui colocamos a cabeça do disco no inicio dele</span>

<span style="color:#000000;">.diskSetup</span>
<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">mov</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">ax</span><span style="color:#000000;">,</span><span style="color:#0000ff;">0</span><span style="color:#000000;">        </span><span style="font-style:italic;color:#808080;">; Função para resetar o disco rígido</span>
<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">mov</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">dl</span><span style="color:#000000;">,[drv]    </span><span style="font-style:italic;color:#808080;">; O drive que vamos resetar</span>

<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">int</span><span style="color:#000000;"> </span><span style="color:#008080;">13h</span><span style="color:#000000;">         </span><span style="font-style:italic;color:#808080;">; Chama a interrupção de disco</span>
<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">jc</span><span style="color:#000000;"> .diskSetup   </span><span style="font-style:italic;color:#808080;">; Se der erro, tentamos de novo</span>

<span style="font-style:italic;color:#808080;">; Após resetar o disco, colocaremos a cabeça no setor que o programa se </span>

<span style="font-style:italic;color:#808080;">; encontra e carregamos o programa na memória</span>

<span style="color:#000000;">.diskRead</span>
<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">mov</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">ah</span><span style="color:#000000;">,</span><span style="color:#008080;">02h</span><span style="color:#000000;">    </span><span style="font-style:italic;color:#808080;">; Função para ler o disco</span>
<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">mov</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">al</span><span style="color:#000000;">,</span><span style="color:#0000ff;">3</span><span style="color:#000000;">      </span><span style="font-style:italic;color:#808080;">; Ler 3 setores (512 * 3 bytes)</span>

<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">mov</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">ch</span><span style="color:#000000;">,</span><span style="color:#0000ff;">0</span><span style="color:#000000;">      </span><span style="font-style:italic;color:#808080;">; Apontar para o cilindro 0</span>
<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">mov</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">cl</span><span style="color:#000000;">,</span><span style="color:#008080;">0x02</span><span style="color:#000000;">   </span><span style="font-style:italic;color:#808080;">; Ler a partir do setor 2 (2, 3 e 4)</span>

<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">mov</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">dh</span><span style="color:#000000;">,</span><span style="color:#0000ff;">0</span><span style="color:#000000;">      </span><span style="font-style:italic;color:#808080;">; Cabeça 0</span>
<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">mov</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">dl</span><span style="color:#000000;">,[drv]  </span><span style="font-style:italic;color:#808080;">; Disco de onde queremos ler os dados</span>

<span style="font-style:italic;color:#808080;">; Os dados que lemos com essa função são armazenados em ES:BX</span>
<span style="font-style:italic;color:#808080;">; No nosso caso aqui entao teremos 1000h:0</span>

<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">mov</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">bx</span><span style="color:#000000;">,</span><span style="color:#008080;">0x1000</span>
<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">mov</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">es</span><span style="color:#000000;">,</span><span style="font-weight:bold;color:#000000;">bx</span>

<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">mov</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">bx</span><span style="color:#000000;">,</span><span style="color:#0000ff;">0</span>

<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">int</span><span style="color:#000000;"> </span><span style="color:#008080;">13h</span><span style="color:#000000;">       </span><span style="font-style:italic;color:#808080;">; Interrupção do disco</span>
<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">jc</span><span style="color:#000000;"> .diskRead  </span><span style="font-style:italic;color:#808080;">; Em caso de erro, tenta de novo</span>

<span style="font-weight:bold;color:#000000;">jmp</span><span style="color:#000000;"> </span><span style="color:#008080;">1000h</span><span style="color:#000000;">:</span><span style="color:#0000ff;">0</span><span style="font-style:italic;color:#808080;">;    ; Aqui nós pulamos para o nosso código que acaba de ser</span>
<span style="color:#000000;">                </span><span style="font-style:italic;color:#808080;">; carregado na memória</span>

<span style="color:#000080;">hang:</span>
<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">jmp</span><span style="color:#000000;"> hang      </span><span style="font-style:italic;color:#808080;">; Loop infinito</span>

<span style="color:#000000;">drv </span><span style="color:#800000;">db</span><span style="color:#000000;"> </span><span style="color:#0000ff;">0</span>
<span style="color:#000000;">msg </span><span style="color:#800000;">db</span><span style="color:#000000;"> </span><span style="color:#dd0000;">'Chamando programa do HD'</span><span style="color:#000000;">,</span><span style="color:#0000ff;">13</span><span style="color:#000000;">,</span><span style="color:#0000ff;">10</span><span style="color:#000000;">,</span><span style="color:#0000ff;">0</span>

<span style="color:#800000;">times</span><span style="color:#000000;"> </span><span style="color:#0000ff;">512</span><span style="color:#000000;">-(</span><span style="color:#0000ff;">$</span><span style="color:#000000;">-</span><span style="color:#0000ff;">$$</span><span style="color:#000000;">)-</span><span style="color:#0000ff;">2</span><span style="color:#000000;"> </span><span style="color:#800000;">db</span><span style="color:#000000;"> </span><span style="color:#0000ff;">0</span><span style="color:#000000;">   </span><span style="font-style:italic;color:#808080;">; Completa o espaço do setor que sobra com 0s</span>

<span style="color:#800000;">DW</span><span style="color:#000000;"> </span><span style="color:#008080;">0xAA55</span><span style="color:#000000;">                 </span><span style="font-style:italic;color:#808080;">; Assinatura do setor de boot nos ultimos dois bytes</span></pre>
<p>Esse código então, como da para perceber, lê o código do disco, coloca o código na posição de memória 1000h:0 e pula para lá para começar a execução. Bom, precisamos agora então do programa que desejamos ler do disco e executar. Esse programa, assim como o primeiro exemplo vai simplesmente imprimir uma mensagem na tela.</p>
<pre>
<span style="font-style:italic;color:#808080;">;  Programa.asm</span>

<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">mov</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">ax</span><span style="color:#000000;">, </span><span style="color:#008080;">1000h</span><span style="color:#000000;">           </span><span style="font-style:italic;color:#808080;">; Atualizar os registros de segmentos</span>

<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">mov</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">ds</span><span style="color:#000000;">, </span><span style="font-weight:bold;color:#000000;">ax</span>
<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">mov</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">es</span><span style="color:#000000;">, </span><span style="font-weight:bold;color:#000000;">ax</span>
<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">mov</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">si</span><span style="color:#000000;">, msg             </span><span style="font-style:italic;color:#808080;">; Mensagem em SI</span>

<span style="color:#000080;">putstr:</span>
<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">lodsb</span>
<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">or</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">al</span><span style="color:#000000;">,</span><span style="font-weight:bold;color:#000000;">al</span>
<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">jz</span><span style="color:#000000;"> hang</span>

<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">mov</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">ah</span><span style="color:#000000;">,</span><span style="color:#008080;">0x0E</span>
<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">mov</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">bx</span><span style="color:#000000;">,</span><span style="color:#008080;">0x0007</span>
<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">int</span><span style="color:#000000;"> </span><span style="color:#008080;">0x10</span>

<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">jmp</span><span style="color:#000000;"> putstr</span>

<span style="color:#000080;">hang:</span>
<span style="color:#000000;">  </span><span style="font-weight:bold;color:#000000;">jmp</span><span style="color:#000000;"> hang</span>

<span style="color:#000000;">msg     </span><span style="color:#800000;">db</span><span style="color:#000000;"> </span><span style="color:#dd0000;">'Bla bla bla!'</span><span style="color:#000000;">,</span><span style="color:#0000ff;">13</span><span style="color:#000000;">,</span><span style="color:#0000ff;">10</span><span style="color:#000000;">,</span><span style="color:#0000ff;">0</span>
</pre>
<p>Nesse programa nós atualizamos os registros de segmento para o mesmo endereço onde carregamos o programa do nosso HD, e executamos a rotina basica de imprimir a mensagem na tela, e entrar em loop infinito.<br />
Para executar esse exemplo, os paso são parecidos. Vejamos:</p>
<p>$ nasm boot2.asm -f bin -o boot2.bin<br />
$ nasm programa.asm -f bin -o programa.bin<br />
$ qemu-img create ./boot2.img -f qcow 1M<br />
$ dd if=boot2.bin of=./boot2.img<br />
$ dd if=programa.bin of=./boot2.img bs=512 seek=1<br />
$ qemu ./boot.img -m 16</p>
<p>O comando &#8216;$ dd if=programa.bin of=./boot2.img bs=512 seek=1&#8242; coloca o nosso código no segundo setor do disco, pois conforme definimos em nosso código, é la que nosso bootstrap está esperando encontra-lo.</p>
<p>4. Conclusão<br />
Bom pessoal, é isso ai. Como o tpitulo disse, é um bootstrap simples, apenas para dar um gostinho de como funciona, e trazer mais animo para maiores pesquisas.<br />
Espero que tenham gostado e que possa ser útil para alguém.</p>
<p>Até o próxmo :D</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/artofcoding.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/artofcoding.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/artofcoding.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/artofcoding.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/artofcoding.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/artofcoding.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/artofcoding.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/artofcoding.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/artofcoding.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/artofcoding.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/artofcoding.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/artofcoding.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/artofcoding.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/artofcoding.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/artofcoding.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/artofcoding.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofcoding.wordpress.com&amp;blog=2008168&amp;post=3&amp;subd=artofcoding&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://artofcoding.wordpress.com/2007/11/02/bootstrap-simples/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/60916b9091ebc34e2c574fb9952cf6f4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Henrique</media:title>
		</media:content>
	</item>
		<item>
		<title>Introdução</title>
		<link>http://artofcoding.wordpress.com/2007/10/28/hello-world/</link>
		<comments>http://artofcoding.wordpress.com/2007/10/28/hello-world/#comments</comments>
		<pubDate>Sun, 28 Oct 2007 19:53:37 +0000</pubDate>
		<dc:creator>Henrique</dc:creator>
				<category><![CDATA[Outros]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[O objetivo aqui é bastante simples. Demonstrar códigos diversos, demonstrar seu funcionamento e procurar trazer de forma simples e prática o conhecimento. Não pretendo colocar apenas código em uma única linguagem específica, ou sobre um tópico específico; irei escrever sobre aquilo que estiver pesquisando no momento, ou que venha a ser de meu interesse. Sinta-se [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofcoding.wordpress.com&amp;blog=2008168&amp;post=1&amp;subd=artofcoding&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>O objetivo aqui é bastante simples. Demonstrar códigos diversos, demonstrar seu funcionamento e procurar trazer de forma simples e prática o conhecimento. Não pretendo colocar apenas código em uma única linguagem específica, ou sobre um tópico específico; irei escrever sobre aquilo que estiver pesquisando no momento, ou que venha a ser de meu interesse.</p>
<p>Sinta-se a vontade para mandar sugestões ou comentários!</p>
<p>Regards,</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/artofcoding.wordpress.com/1/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/artofcoding.wordpress.com/1/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/artofcoding.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/artofcoding.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/artofcoding.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/artofcoding.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/artofcoding.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/artofcoding.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/artofcoding.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/artofcoding.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/artofcoding.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/artofcoding.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/artofcoding.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/artofcoding.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/artofcoding.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/artofcoding.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=artofcoding.wordpress.com&amp;blog=2008168&amp;post=1&amp;subd=artofcoding&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://artofcoding.wordpress.com/2007/10/28/hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/60916b9091ebc34e2c574fb9952cf6f4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Henrique</media:title>
		</media:content>
	</item>
	</channel>
</rss>
