Java Database Connectivity ( JDBC ) Application Programmer Interface ( API ) ger klasser för att ansluta till och åtkomst till data i tabellform , inklusive relationsdatabaser . ResultSet klass ger metoder för att hämta , navigera och manipulera resultaten databasfrågan . Exempel Miljö
I följande exempel , kommer du ansluter till en databas som heter " personal ", en enda tabell i databasen som heter " folk " som innehåller tre kolumner : " förnamn " , " efternamn " , " titel , " och " lön . " Din Tabellen innehåller följande poster:
Bob Smith , kontoristen , 23.50Ted , Anderson , Designer , 38.00Fred , Johnson , programmerare , 32.25Alice , Anderson , ingenjör , 46.75Bob , Clark , Praktikant, 15.00Carol , Smith , chef , 42,50
söka i databasen
Skapa en databas anslutning och skapa ett Statement-objekt genom att anropa vår Connection -objektets createStatement ( ) funktionen .
String url = " jdbc : mysql ://localhost /personal " , Anslutning conn = DriverManager.getConnection ( url , " användarnamn " , " lösenord " ) ; Statement st = conn.createStatement ( ) ;
Skapa en fråga sträng som innehåller ett giltigt SQL uttalande
query
String = " SELECT förnamn , efternamn FROM folk "; .
Skapa ett ResultSet -objekt med uttalandet objektet att exekvera frågan till databasen .
ResultSet rs = st.executeQuery ( query ) ;
objektet ResultSet , rs , innehåller nu resultatet av frågan : den " förnamn " och " efternamn " kolumner för varje post i "folket " bord .
Komma frågeresultatet
objektet ResultSet har en markör , som inledningsvis inte pekar på något register . Ring ResultSet första ( ) funktionen för att flytta markören till den första posten innehas av objektet ResultSet . ResultSet oss få funktioner ger tillgång till innehållet i varje kolumn med hjälp av kolumnens namn från databasen tabellen . Använd getString (String columnLabel ) för att hämta innehållet i VARCHAR kolumnerna " förnamn " och " efternamn . "
Rs.first (); String fn = rs.getString ( " förnamn "); String ln = rs . getString ( " efternamn "); System.out.println (ln + "," + fn ) ;
Den sista raden ovan tryck :
Smith, Bob
Ring ResultSet sista ( ) funktionen för att flytta markören till den sista posten innehas av objektet ResultSet
rs.last ( ) , . fn = rs.getString ( " förnamn " ) , ln = rs.getString ( " last_name "); System.out.println (ln +", " + fn ) ;
Den sista raden ovan tryck :
Smith, Carol
Stepping genom Frågeresultat
Vanligtvis kommer du vill komma åt alla de resultat som returneras av frågan . ResultSet nästa ( ) funktion flyttar markören fram till nästa post . När markören flyttas förbi slutet av sökresultatet , nästa ( ) returnerar NULL , så att du kan använda returvärdet att fly från en while-slinga
Statement st = conn.createStatement ( ) . ; String query = " SELECT * FROM folk där lön > 30 " , ResultSet rs = st.executeQuery ( query ) ;
samtidigt ( rs.next ( ) ) { String fn = rs.getString ( " förnamn " ) , String ln = rs.getString ( " efternamn " ) , System.out.println ( fn + " " + ln ) ; }
medan loop stegar igenom varje post i resultatet , och skriver :
Ted AndersonFred JohnsonAlice AndersonCarol Smith