tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
422
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    hesk hesk ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    192
    Hallo!

    Ich habe ein client-Programm welches in Swing programmiert ist.

    In diesem greife ich auf mySQL zu.

    Bis jetzt habe ich immer SimpleJdbcTemplate verwendet:

    Code java:
    1
    2
    3
    4
    5
    6
    
    MysqlDataSource mysqlDataSource = new MysqlDataSource();
    mysqlDataSource.setURL(url);
    mysqlDataSource.setUser("root");
    mysqlDataSource.setPassword("root");
     
    SimpleJdbcTemplate simpleJdbcTemplate = new SimpleJdbcTemplate(dataSource);

    Nun gab es aber ein Problem mit

    Code java:
    1
    
    simpleJdbcTemplate.queryForInt("SELECT LAST_INSERT_ID()")

    Dies liefert immer 0 zurück. Ich hab viel im Internet gesucht, und meine Vermutung ist dass eine andere Connection genommen wird, und dadurch immer 0 zurück kommt.


    Meine Frage:

    Was sollte man am besten für mySQL-Zugriff verwenden wenn man ein standalone-client-programm hat?

    .) SimpleJdbcTemplate?
    .) Plain mysql-Statements ... connection, Statement, ResultSet, etc?
    .) etwas anderes?

    Vielen Dank!
     

  2. #2
    hesk hesk ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    192
    Mit einer SingleConnectionDataSource ist das Problem von oben beschrieben behoben.
    Da das Programm nur unter einem Thread läuft, sollte es bei dieser DataSource kein Problem geben.

    Oder kennt jemand welche?
     

  3. #3
    sebastianb sebastianb ist offline Mitglied Gold
    Registriert seit
    Dec 2009
    Beiträge
    125
    Hi,

    was ist wenn du explizit noch die Tabelle mit angibst?

    Code :
    1
    
    "SELECT last_insert_id() from 'last_table' LIMIT 1"

    siehe: http://blog.mansonthomas.com/2008/06...framework.html

    Gruß

    Sebastian
     

  4. #4
    hesk hesk ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    192
    Leider nein:

    Code java:
    1
    2
    3
    4
    5
    6
    
    2012-02-08 10:20:16,578 [main     ] [DEBUG] [org.springframework.jdbc.datasource.DataSourceUtils                   ] Fetching JDBC Connection from DataSource
    2012-02-08 10:20:17,046 [main     ] [DEBUG] [org.springframework.jdbc.datasource.DataSourceUtils                   ] Returning JDBC Connection to DataSource
    // insert
    2012-02-08 10:20:17,062 [main     ] [DEBUG] [org.springframework.jdbc.datasource.DataSourceUtils                   ] Fetching JDBC Connection from DataSource
    2012-02-08 10:20:17,093 [main     ] [DEBUG] [org.springframework.jdbc.datasource.DataSourceUtils                   ] Returning JDBC Connection to DataSource
    Returned from 'SELECT LAST_INSERT_ID() from Table LIMIT 1': 0
     

  5. #5
    hesk hesk ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    192
    Ich verwende nun

    Code java:
    1
    
    dataSource = new SingleConnectionDataSource();

    Funktioniert gut.
     

Ähnliche Themen

  1. RMI: Client - Server Connection refused
    Von Deemax im Forum Java
    Antworten: 4
    Letzter Beitrag: 04.11.09, 22:24
  2. [Visual Basic .net 2005] Server Client Connection
    Von MikeMatrix im Forum .NET Web und Kommunikation
    Antworten: 6
    Letzter Beitrag: 19.07.08, 19:43
  3. IP ermitteln bei Client-Server-Connection
    Von Xo-mate im Forum .NET Web und Kommunikation
    Antworten: 3
    Letzter Beitrag: 04.01.08, 21:14
  4. Http-Client release connection Problem
    Von jb007 im Forum Java
    Antworten: 0
    Letzter Beitrag: 05.11.07, 10:59
  5. Antworten: 1
    Letzter Beitrag: 04.04.06, 20:06