Sempre que precisei acessar o BD pelo meu programa eu pegava os valores da variáveis de acordo com o nome das colunas, segue um exemplo:
public static List<Palet> list_palet_Prepared_Statement() {
String sql = "SELECT id, laco, altura, total, cerveja_id FROM DB_Estoque.Palet";
Connection conn = Conexao.getConnection(); // Abrindo conexão
List<Palet> ListaPalet = new ArrayList<>();
try {
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery(sql);
while (rs.next()) {
ListaPalet.add(new Palet(rs.getInt("id"), rs.getInt("laco"), rs.getInt("altura"), rs.getInt("total"),
rs.getInt("cerveja_id")));
}
Conexao.Fechar_Conexao(conn, ps, rs); // Fechando conexão
return ListaPalet;
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
Ou
public static int get_Soma_cerveja_Prepared_Statement() {
String sql = "SELECT SUM(total) AS Soma FROM DB_Estoque.Palet;";
Connection conn = Conexao.getConnection(); // Abrindo conexão
Integer total = 0;
try {
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery(sql);
while (rs.next()) {
total = rs.getInt("Soma");
}
Conexao.Fechar_Conexao(conn, ps, rs); // Fechando conexão
return total;
} catch (SQLException e) {
e.printStackTrace();
}
return total;
}
Porém existem alguns tipos de dados que estou precisando porém não sei como recebelos, como por exemplo quando eu pego a quantidade de linhas com
SELECT TABLE_NAME, TABLE_ROWS
FROM `information_schema`.`tables`
WHERE `table_schema` = 'DB_Estoque';
Nesse caso específico eu queria que fosse retornado o valor de somente uma das tabelas, sendo que ele está retornando o nome e quantidade de linhas de todas as tabelas.