Vollständige SQL -Abfrage und geben Sie Abfrageergebnisse in den Vektorbehälter für andere Programme ein
/** SQL Query Anweisung ausführen*/public static <T> vector <T> executeQuery (Klasse <T> clazz, String SQL, Objekt ... Args) {Verbindung conn = null; vorbereitete statement proprepedStatement = null; resultset rs = null; Jdbctools.getConnection (); preparedStatement = conn.preparestatement (SQL); // Verwenden Sie die SQL -Anweisung, um zu bestimmen, welche Spalten ausgewählt sind (int i = 0; i <args.länge; i ++) {provectedStatement.setObject (i+1, args. Klasse // den Alias des Ergebnisstraße street_id abrufen. Holen Sie sich die Metadaten von JDBC // den Wert jeder Spalte des Ergebnissatzes ab und kombinieren Sie den vorherigen Schritt, um ein MAP-Schlüssel-Wert-Paar zu erhalten // Schlüssel: Spalten alias Wert: Spaltenwert // Wert des Wertes des Werts der Entitätsklasse. metadata resultsetmetadata rsmd = rs.getmetadata (); map <String, Objekt> MapMetadata = new Hashmap <String, Objekt> (); // Drucken Sie den Spaltennamen einer Spalte, wobei (rs.next ()) {// eine Reihe von Daten in die Datentabelle erhalten, die die Anforderungen erfüllt, und in der Maschine () (int i = 0) (int i = 0) (int i = 0) (int i = 0) (INT i = 0) (INT I = 0) (INT I = 0, IN (INT I. )af (INT I = 0 )af (ssteufachetztaltanddöert ich diesstenstestesteste eine eine eine eine eine eine eine eine eine eine einelichkeit einfach, ,em sie düster,, sich zahlen,. i ++) {String columnLabel = rsmd.getColumnLabel (i+1); Objekt columnValue = rs.getObject (columnLabel); // system.out.println (columnLabel); mapMetaData.put(columnLabel, columnValue);}//Initialize the T-type object through reflection if (mapMetaData.size() > 0) {obj = clazz.newInstance();for (Map.Entry<String, Object> entry : mapMetaData.entrySet()) {String fieldkey = entry.getKey();Object fieldvalue = Entry.getValue (); // system.out.println (fieldKey + ":" + fieldValue); ReflectionUtils.SetfieldValue (OBJ, FieldKey, FieldValue); // Wert Wert durch Reflexion}} // Das Objekt in den Vektorcontainer Vecrs.Add (OBJ);}} catch (Ausnahme E) {E.printstacktrace ();Die verwendeten Werkzeugemethoden
Datenbankverbindung abrufen jdbctools.getConnection ()
/** Die Verbindung zur Datenbank abrufen*/public static Connection getConnection () löst die Ausnahme aus {Verbindung conn = null; String treiber = null; String jdbcurl = null; String username = null; String password = null; // Die Eigenschaften von Eigenschaften Objekteigenschaften Eigenschaften abrufen. Jdbctools.class.getClassloader (). GetResourceAsStream ("jdbc.properties"); Eigenschaften.load (in); TREIDER = Eigenschaften.getProperty ("Treiber"); Properties.getProperty ("Passwort"); class.forname (Treiber); conn = driverManager.getConnection (JDBCURL, Benutzername, Passwort); return conn;}Reflectionutils.SetfieldValue (OBJ, FieldKey, FieldValue);
Weisen Sie das FieldKey -Attribut des OBJ -Objekts dem FieldValue zu
// Setzen Sie die Attribute des Objekts Public static void setfieldValue (Objekt obj, String Fieldname, Objektwert) {field field = getDeclaredfield (OBJ, Fieldname); if (field == null) {werfen neuer IllegalArgumentException ("konnte kein Feld finden ["+ fieldname+ "] auf Target on Target on Target on Target on Target on Target on Target auf ["+obj+"] ");} makeAccessible (field); try {field.set (obj, value);} catch (illegalaccessException e) {System.out.println (" Ausnahme, die nicht geworfen werden kann ");}} // Beurteilen Sie, ob das Modifierer das Feld öffentlich ist, und ändern Sie das Feld. field) {if (! modifier.ispublic (field.getModifiers ()) {field.setAccesssible (true);}} // Erhalten Sie das Feld Attribut, das Attribut kann das öffentliche statische Feld in der Elternklasse öffentliche statische Feld getDeclaredfield erben (Object Obj. clazz = clazz.getSuperClass ()) {try {return clazz.getDeclaredfield (Fieldname);} catch (Ausnahme E) {}} return null;}Zusammenfassen
Das obige ist die detaillierte Erklärung der allgemeinen Methoden der Java -Ausführung von SQL -Anweisungen zur Implementierung von Abfragen. Ich hoffe, es wird für alle hilfreich sein. Interessierte Freunde können weiterhin auf andere verwandte Themen auf dieser Website verweisen. Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen. Vielen Dank an Freunde für Ihre Unterstützung für diese Seite!