1 /** 2 * Query the sql tool class of a single class. 3 * @param sql sql 4 * @param args args 5 * @return class 6 */ 7 public Tab getQuerySql(String sql, Object... args) { 8 try (PreparedStatement ps = connection.prepareStatement(sql)) { 9 for (int i = 0; i < args.length; i++) { 10 ps.setObject(i + 1, args[i]); 11 } 12 // Get ResultSet 13 ResultSet resultSet = ps.executeQuery(); 14 // Get the metadata of the result set 15 ResultSetMetaData metaData = resultSet.getMetaData(); 16 // Get the number of columns 17 int columnCount = metaData.getColumnCount(); 18 if (resultSet.next()) { 19 Tab tab = new Tab(); 20 for (int i = 0; i < columnCount; i++) { 21 // Get the column value of each column: through ResultSet 22 Object columnValue = resultSet.getObject(i + 1); 23 // Get the alias of the column through ResultSetMetaData 24 String columnLabel = metaData.getColumnLabel(i + 1); 25 // Through reflection, assign the specified name of the object columnLabel to the specified columnValue 26 Field field = Tab.class.getDeclaredField(columnLabel); 27 field.setAccessible(true); 28 field.set(tab, columnValue); 29 } 30 return tab; 31 } 32 } catch (Exception throwables) { 33 throwables.printStackTrace(); 34 } 35 return null; 36 } 37 38 /** 39 * Add, delete, modify and check a single class. 40 * @param sql sql 41 * @param args args 42 * @return boolean 43 */ 44 public boolean executeSql(String sql, Object... args) { 45 try (PreparedStatement ps = connection.prepareStatement(sql)) { 46 for (int i = 0; i < args.length; i++) { 47 ps.setObject(i + 1, args[i]); 48 } 49 return ps.execute(); 50 } catch (Exception throwables) { 51 throwables.printStackTrace(); 52 } 53 return false; 54 }