Complete la consulta SQL y ponga los resultados de la consulta en el contenedor de vector para que otros programas usen
/** Ejecute SQL Consuly Declaration*/public static <t> vector <t> ExecUteQuery (class <T> clazz, String Sql, Object ... args) {Connection conn = null; preparado en preparación preparativa = null; resultset rs = null; vector <t> vector = new vector <t> (); t obj = null; try {conn = conn = conn = JdbcTools.getConnection (); prepareStatement = conn.prepareStatement (sql); // use la instrucción SQL para determinar qué columnas se seleccionan para (int i = 0; i <args.length; i ++) {prepareStatement.SetObject (i+1, args [i]);} // consulta sql a la consulta de sql para obtener el set de resultado /// clase // Obtenga el alias de Result Street stud_id Obtenga los metadatos de JDBC // Obtenga el valor de cada columna del conjunto de resultados, y combine el paso anterior para obtener un par de valores clave de mapa // Key: COLUMN VALOR: Valor de columna // Asignar valor al atributo del objeto de la clase de entidad usando reflexión // El valor clave del mapa de atributo es el valor del mapa rs = preparado. metadata resultSetMetadata rsmd = rs.getMetadata (); map <string, object> mapMetadata = new HashMap <String, Object> (); // Imprime el nombre de la columna de una columna mientras (rs.next ()) {// obtiene una fila de datos en la tabla de datos que cumple con los requisitos y lo ponga en el mapa para (int i = 0; i <rsmd.getcolumncount (); i/ {); i/ {); columnLabel = rsmd.getColumnLabel (i + 1); objeto columnvalue = rs.getObject (columnLabel); // system.out.println (columnLabel); mapmetadata.put (columnLabel, columnValue);} // Inicializar el objeto t a través de la reflexión if (mapMetadata.size ()> 0) {obj = clazz.newinstance (); for (map.entry <string, object> entry: mapmetadata.entryset ()) {string fieldey = entry.getKey (); object FieldValue System.out.println (FieldKey + ":" + FieldValue); ReflectionUtils.setFieldValue (obj, fieldkey, fieldValue); // Asignar valor a través de la reflexión}} // Cargue el objeto en el contenedor vector vecrs.add (obj);}} captura (excepción e) {e.printstackTrace ();} return vecrs;}Los métodos de herramienta utilizados
Obtener conexión de base de datos JDBCTOOLS.GETCONNECTION ()
/** Obtenga la conexión a la base de datos*/Public Static Connection getConnection () lanza la excepción {Connection conn = null; String Driver = NULL; String JDBCURL = NULL; String UserName = NULL; String Password = NULL; // Obtener las propiedades Propiedades Propiedades = New Properties (); InputStream IN = = Jdbctools.class.getClassLoader (). GetResourceasStream ("jdbc.properties"); propietarios.load (in); controlador = propiedades.getProperty ("controlador"); jdbcurl = propiedades.getProperty ("jdbcurl"); useName.ppers.getProperty ("usuarios"); Properties.getProperty ("Password"); class.forname (controlador); conn = drivermanager.getConnection (jdbcurl, nombre de usuario, contraseña); return Conn;}ReflectionUtils.setfieldValue (obj, fieldkey, fieldValue);
Asigne el atributo FieldKey del objeto OBJ a FieldValue
// Establecer los atributos del objeto public static void setFieldValue (object obj, string fieldame, value de objeto) {campo campo = getDeclaredField (obj, fieldName); if (field == null) {tirar nueva ilegalargumentException ("no se pudo encontrar el campo ["+ fieldName+ "] en el objetivo [""+obj+""] ");} makeAccessible (campo); try {field.set (obj, valor);} capt (ilegalAccessexception e) {system.out.println (" excepción que no se puede ser ");}}} // juzga si el modificador del campo es público y cambia el acceso de acceso a la visión pública de acuerdo, campo) {if (! Modifier.ispublic (field.getModifiers ())) {field.setAccessible (true);}} // Obtener el atributo de campo, el atributo puede inherir al campo estático público en la clase principal de la clase STARIC getDeclaredfield (obj obj, string fieldName) {para (class <?> Clazz = obj.getClass (); Clazz; CLAZS; clazz = clazz.getsuperClass ()) {try {return clazz.getDeclaredfield (fieldName);} catch (excepción e) {}} return null;}Resumir
Lo anterior es la explicación detallada de los métodos generales de ejecución de Java que ejecutan las declaraciones SQL para implementar consultas. Espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a otros temas relacionados en este sitio. Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!