commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ben short" <jamin.sh...@gmail.com>
Subject Re: simple JDBC question
Date Mon, 03 Sep 2007 12:02:59 GMT
Are you sure that the table is empty before you run the test?

On 9/3/07, Alessandro Ferrucci <alessandroferrucci@gmail.com> wrote:
> Hi this question is related to DBCP, but I will provide a sample without
> DBCP code since I see the same behavior either way.
>
> I have this very simple class:
>
> for some reaosn when I debug it in eclipse, and I step through the first
> statement I see the record has already been inserted in teh DB when I put
> autocommit to false...why is this?  Also what should happen in this case is
> that the second statement is invalid so it throws an exception and the
> connection should rollback both statements but it is not...the first
> statement is obviously automatically commited...I cannot find out why this
> is not working
>
> thx
>
> alessandro ferrucci :)
>
> import java.sql.Connection;
> import java.sql.DriverManager;
> import java.sql.SQLException;
> import java.sql.Statement;
>
> import org.junit.Test;
>
> //
> ****************************************************************************
>
> public class TestJDBC
> {
>     @Test
>     public void test()
>     {
>         Connection conn = null;
>         try
>         {
>             Class.forName("com.mysql.jdbc.Driver");
>         }
>         catch (ClassNotFoundException ex)
>         {
>             System.out.println(ex.getMessage());
>         }
>         try
>         {
>             conn = DriverManager
>
> .getConnection("jdbc:mysql://localhost:3306/photos?user=root&password=");
>             conn.setAutoCommit(false);
>         }
>         catch (SQLException ex)
>         {
>
>         }
>         Statement stmt = null;
>         try
>         {
>             stmt = conn.createStatement();
>         }
>         catch (Exception ex)
>         {
>             System.out.println(ex.getMessage());
>         }
>         try
>         {
>             stmt.execute("insert INTO photostest (id) VALUES (100)");
>             stmt = conn.createStatement();
>             stmt.execute("insert INTO photostest (id2) VALUES (200)");
>         }
>         catch (Exception ex)
>         {
>             System.out.println(ex.getMessage());
>             try
>             {
>                 conn.rollback();
>             }
>             catch (Exception e)
>             {
>                 System.out.println(ex.getMessage());
>             }
>         }
>     }
> }
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org


Mime
View raw message