Compléter la requête SQL et mettre les résultats de la requête dans un conteneur de vecteur pour d'autres programmes à utiliser
/ * * EXECUTE SQL Query Instruction * / public static <T> vector <T> ExecUteQuery (class <T> Clazz, String sql, objet ... args) {connexion conn = null; préparéStation PreadStatement = Null; resultSet rs = null; vector <T> vecrs = new vector <t> (); t obj = null; Try {Conn = JDBCTools.getConnection();preparedstatement = conn.prepareStatement(sql);// Use the sql statement to determine which columns are selected for (int i = 0; i < args.length; i++) {preparedstatement.setObject(i + 1, args[i]);}// Use sql query to obtain the result set// Use reflection to create an object of the entity Class // Obtenez l'alias du résultat Street Stud_id Obtenez les métadonnées de JDBC // Obtenez la valeur de chaque colonne de l'ensemble de résultats, et combinez l'étape précédente pour obtenir une cartle de clés-valeur paire // Clé: Valeur d'alias de colonne: Valeur de la colonne // Attribuez la valeur de l'attribut de l'objet de classe entité = préparéStation.ExECuteQuery (); // Obtenez les métadonnées ResultimeSetMetAdata RSMD = Rs.GetMetAdata (); Map <String, Object> MapMetadata = New Hashmap <String, Object> (); // Imprimez le nom de colonne d'une colonne qui répond au tableau de données et à la carte IT pour (// It It It It It Int = 0; i <rsmd.getColumnCount (); i ++) {String ColumnLabel = Rsmd.getColumnLabel (i + 1); mapmetadata.put (ColumnLabel, ColumnValue);} // initialisez l'objet T-Type via la réflexion if (mapmetadata.size ()> 0) {obj = cllazz.newinstance (); for (map.entry <string, objet> entrée: mapMetadata FieldValue =)) {String FieldKey = entrée. Entry.getValue (); // System.out.println (FieldKey + ":" + FieldValue); ReflectionUtils.SetFieldValue (obj, fieldKey, fieldValue); // attribue la valeur par réflexion}} // Chargez l'objet dans le conteneur vectoriel vecr.add (obj);}} catch (exception e) {e.printStackTrace ();} return vecrs;}Les méthodes de type outil utilisées
Obtenez la connexion de la base de données jdbctools.getConnection ()
/ * * Obtenez la connexion à la base de données * / Connexion statique publique getConnection () lève une exception {connexion conn = null; String driver = null; string jdbcurl = null; string userName = null; string word password = null; // obtenez les propriétés propriétés propriétés Properties = new Properties (); InputStream in = Jdbctools.class.getClassloadher (). GetResourCeasStream ("jdbc.properties"); propriétés.load (in); driver = properties.getProperty ("Driver"); jdbcurl = properties.getProperty ("user"); tout-des -illes " Properties.getProperty ("Mot de passe"); class.forname (Driver); Conn = driverManager.getConnection (jdbcurl, nom d'utilisateur, mot de passe); return conn;}ReflectionUtils.SetFieldValue (OBJ, FieldKey, FieldValue);
Attribuez l'attribut FieldKey de l'objet OBJ à FieldValue
// Définissez les attributs de l'objet public static void setFieldValue (objet obj, chaîne fieldName, valeur objet) {champ champ = getDeclaredField (obj, fieldname); if (field == null) {lancez new illégalArgumentException ("ne peut pas trouver Field [" + fieldName + "] ["+ obj +"] ");} makeAccessible (field); try {field.set (obj, valeur);} catch (illégalaccessException e) {System.out.println (" Exception qui ne peut pas être jetée ");}} // juge si le modificateur du champ est public (et modifie l'autorisation d'accès du champ. Field) {if (! modificateur.ispublic (field.getModificaires ())) {field.setAccessible (true);}} // Get the Field Attribut, l'attribut peut hériter du champ statique public dans la classe parent de la classe statique GetDeclaredField (objet obj, String FieldName) {pour (class <?> Clazz = Obj.getClass (); Cllazer! Cllazz = Clazz.getsuperclass ()) {try {return Clazz.getDeclaredField (fieldName);} catch (exception e) {}} return null;}Résumer
Ce qui précède est l'explication détaillée des méthodes générales de Java exécutant des instructions SQL pour implémenter les requêtes. J'espère que ce sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à d'autres sujets connexes sur ce site. S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!