мне нужно, чтобы они помогли мне, из-за которого я схожу с ума., я делаю программу, которая я хочу принести все данные о моей таблице mysql и обратить их в объект. Но согласно debug, который он реализует, у меня есть NullPointerException. PD: Связь сделана правильно, через услуги., но мне не может удаваться соединить это через код. там пойди мои классы.
@WebServlet (" / ServletControlador") public class ServletControlador extends HttpServlet {
@Override
protected void doGet(HttpServletRequest reque, HttpServletResponse respo) throws ServletException, IOException {
List listaClientes = new conecction.ConexionDaoJDBC().listar();
reque.setAttribute("lista", listaClientes);
reque.getRequestDispatcher("cliente.jsp").forward(reque, respo);
}
}
В ЭТОМ КЛАССЕ ОН, ГДЕ Я ЗВОНЮ В МЕТОД, ЗАНОСИТЬ В СПИСОК, ГДЕ ОН БУДЕТ ПРИКРЕПЛЯТЬ СНАЧАЛА К КЛАССУ СВЯЗЬ. ЧТОБЫ ИСКАТЬ СВЯЗЬ В MYSQL И ПОТОМ ОН ДЕЛАЕТ SELECT И ЭТО СОХРАНЯЕТ В СПИСКЕ.
public class ConexionDaoJDBC {
private static final String SQL_SELECT = "SELECT * FROM control_clientes.cliente";
private static final String SQL_SELECT_BY_ID = "SELECT * FROM clientes WHERE idcliente =?";
private static final String SQL_INSERT = "INSERT INTO clientes(nombre, apellido, email, saldo, telefono) "
+ "values(?,?,?,?,?)";
private static final String SQL_UPDATE = "UPDATE clientes "
+ "SET nombre =?, apellido =?, email =?, saldo =?, telefono =? WHERE id_cliente =?";
private static final String SQL_DELETE = "DELETE FROM clientes WHERE idcliente =?";
public List listar() {
List listaClientes = new ArrayList();
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null; //RECUPERA INFORMACION
try {
conn = Conexion.getConnection();
stmt = conn.prepareStatement(SQL_SELECT);
rs = stmt.executeQuery();
while (rs.next()) {
int idcliente = rs.getInt("idcliente");
String nombre = rs.getString("nombre");
String apellido = rs.getString("apellido");
String email = rs.getString("email");
double saldo = rs.getDouble("saldo");
String telefono = rs.getString("telefono");
Cliente c = new Cliente(idcliente, nombre, apellido, email, saldo, telefono);
listaClientes.add(c);
}
} catch (SQLException ex) {
System.out.println(System.in);
} finally {
Conexion.close(conn);
Conexion.close(stmt);
Conexion.main(rs);
}
return listaClientes;
}
МЕТОД, ЧТОБЫ ЗАНОСИТЬ В СПИСОК ВСЕ РЕЕСТРЫ. КАК Я СКАЗАЛ ПОИСКИ СНАЧАЛА СВЯЗЬ И ОН СОХРАНЯЕТ, КАК Я ВОЗРАЖАЮ.
public class Conexion {
private static final String JDBC_URL = "jdbc:mysql://localhost:3306/control_clientes?useSSL=false&useTimezone=true&serverTimezone=UTC&allowPublicKeyRetrieval=true";
private static final String JDBC_USER = "root";
private static final String JDBC_PASS = "admin";
public static BasicDataSource getDataSource() {
BasicDataSource ds = new BasicDataSource();
ds.setUrl(JDBC_URL);
ds.setUsername(JDBC_USER);
ds.setPassword(JDBC_PASS);
ds.setInitialSize(50); //ESTABLECEMOS CUANTAS CONEXIONES QUEREMOS
return ds;
}
public static Connection getConnection() throws SQLException {
return getDataSource().getConnection();
}
public static void main(ResultSet rs) {
try {
rs.close();
} catch (SQLException ex) {
ex.printStackTrace(System.out);
}
}
public static void close(PreparedStatement ps) {
try {
ps.close();
} catch (SQLException ex) {
ex.printStackTrace(System.out);
}
}
public static void close(Connection conn) {
try {
conn.close();
} catch (SQLException ex) {
ex.printStackTrace(System.out);
}
}
} И В КОНЦЕ КОНЦОВ КЛАСС СВЯЗЬ
И Я ОСТАВЛЯЮ МОЮ ТАБЛИЦУ MYSQL.
Я НАДЕЮСЬ, ЧТО КТО-ТО МОЖЕТ ПОМОГАТЬ МНЕ. ДОЛЖЕН БУДЬ БЫТЬ BOLUDES. Спасибо
Как кажется, тебе не хватает regitrar класса JDBC mysql:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Conexion {
private static final String JDBC_URL = "jdbc:mysql://localhost:3306/control_clientes?useSSL=false&useTimezone=true&serverTimezone=UTC&allowPublicKeyRetrieval=true";
private static final String JDBC_USER = "root";
private static final String JDBC_PASS = "admin";
public static BasicDataSource getDataSource() {
Class.forName("com.mysql.jdbc.Driver"); //Driver de mysql
BasicDataSource ds = new BasicDataSource();
ds.setUrl(JDBC_URL);
ds.setUsername(JDBC_USER);
ds.setPassword(JDBC_PASS);
ds.setInitialSize(50); //ESTABLECEMOS CUANTAS CONEXIONES QUEREMOS
return ds;
}
public static Connection getConnection() throws SQLException {
return getDataSource().getConnection();
}
public static void main(ResultSet rs) {
try {
rs.close();
} catch (SQLException ex) {
ex.printStackTrace(System.out);
}
}
public static void close(PreparedStatement ps) {
try {
ps.close();
} catch (SQLException ex) {
ex.printStackTrace(System.out);
}
}
public static void close(Connection conn) {
try {
conn.close();
} catch (SQLException ex) {
ex.printStackTrace(System.out);
}
}