package com.trifulcas.country;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Scanner;
public class GetCountries {
public static void main(String[] args) {
// Buscar todos los países que tengan un texto determinado
Scanner scanner = new Scanner(System.in);
// Pido el texto
System.out.println("Introduzca el texto a buscar");
String texto = scanner.nextLine();
try {
// Hago lo estándar
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sakila", "root", "");
Statement st = con.createStatement();
// ¿QUé sql necesito?
String sql = "select * from country where country like '%"+texto+"%'";
System.out.println(sql);
// Aquí no modificamos sino que seleccionamos, por lo tanto usamos
// executeQuery para ejecutar y un ResultSet para almacenar los resultados
ResultSet rs=st.executeQuery(sql);
// rs es un cursor, puntero o flecha, como lo queramos llamar
// a los registros de la base de datos
rs.next(); // Esto me coloca el cursor en el primer elemento
System.out.println(rs.getString(2)); // Esto me imprime el nombre del primer país
rs.next(); // Esto me coloca el cursor en el primer elemento
System.out.println(rs.getString("country")); // Esto me imprime el nombre del segundo país
// Si yo hago un bucle recorro todos los registros
while(rs.next()) {
System.out.println(rs.getString("country"));
}
st.close();
con.close();
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
scanner.close();
}
}
package com.trifulcas.country;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Scanner;
public class GetCountries {
public static void main(String[] args) {
// Buscar todos los países que tengan un texto determinado
Scanner scanner = new Scanner(System.in);
// Pido el texto
System.out.println("Introduzca el texto a buscar");
String texto = scanner.nextLine();
try {
// Hago lo estándar
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sakila", "root", "");
Statement st = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
// ¿Qué sql necesito?
String sql = "select * from country where country like '%"+texto+"%'";
System.out.println(sql);
// Aquí no modificamos sino que seleccionamos, por lo tanto usamos
// executeQuery para ejecutar y un ResultSet para almacenar los resultados
ResultSet rs=st.executeQuery(sql);
// rs es un cursor, puntero o flecha, como lo queramos llamar
// a los registros de la base de datos
rs.next(); // Esto me coloca el cursor en el primer elemento
System.out.println(rs.getString(2)); // Esto me imprime el nombre del primer país
rs.next(); // Esto me coloca el cursor en el primer elemento
System.out.println(rs.getString("country")); // Esto me imprime el nombre del segundo país
// Si yo hago un bucle recorro todos los registros
while(rs.next()) {
System.out.println(rs.getString("country"));
}
// Al tener el tipo TYPE_SCROLL_INSENSITIVE puedo ir a registros determinados
rs.first();
System.out.println(rs.getString("country")); // Esto me imprime el nombre del primer país
rs.last();
System.out.println(rs.getString("country")); // Esto me imprime el nombre del último país
rs.absolute(4);
System.out.println(rs.getString("country")); // Esto me imprime el nombre del último país
st.close();
con.close();
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
scanner.close();
}
}
Lo habitual es hacerlo así:
ResultSet rs=st.executeQuery(sql);
// Si yo hago un bucle recorro todos los registros
while(rs.next()) {
System.out.println(rs.getString("country"));
}