Galera, bom dia!
Estou recebendo este stack:
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
Mon Mar 14 09:09:32 BRT 2022 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
java.sql.SQLException: Parameter index out of range (2 > number of parameters, which is 1).
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:127)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:95)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:87)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:61)
at com.mysql.cj.jdbc.ClientPreparedStatement.checkBounds(ClientPreparedStatement.java:1419)
at com.mysql.cj.jdbc.ClientPreparedStatement.getCoreParameterIndex(ClientPreparedStatement.java:1432)
at com.mysql.cj.jdbc.ClientPreparedStatement.setString(ClientPreparedStatement.java:1762)
at br.com.fjsistemas.dao.CadastroClienteDAO.salvarDAO(CadastroClienteDAO.java:42)
at br.com.fjsistemas.controle.CadastroClienteControle.salvarControle(CadastroClienteControle.java:36)
at br.com.fjsistemas.visao.CadastroCliente.salvarCadastroCliente(CadastroCliente.java:218)
at br.com.fjsistemas.util.FormularioPadrao$3.actionPerformed(FormularioPadrao.java:67)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6632)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
at java.desktop/java.awt.Component.processEvent(Component.java:6397)
at java.desktop/java.awt.Container.processEvent(Container.java:2263)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Contexto:
Sistema de cadastro de cliente com banco MySQL
Código:
package br.com.fjsistemas.dao;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
import br.com.fjsistemas.interfaces.InterfaceDAO;
import br.com.fjsistemas.modelo.CadastroClienteModelo;
import br.com.fjsistemas.sql.ConexaoBanco;
public class CadastroClienteDAO implements InterfaceDAO {
String sql;
PreparedStatement stm;
@Override
public void salvarDAO(Object... valor) {
CadastroClienteModelo ccm = (CadastroClienteModelo) valor[0];
if (ccm.getId() == 0) {
sql = "INSERT INTO cadastro_cliente (cliente) VALUES (?)";
sql = "INSERT INTO cadastro_cliente (sexo) VALUES (?)";
sql = "INSERT INTO cadastro_cliente (dataN) VALUES (?)";
sql = "INSERT INTO cadastro_cliente (cpf) VALUES (?)";
sql = "INSERT INTO cadastro_cliente (rg) VALUES (?)";
sql = "INSERT INTO cadastro_cliente (endereco) VALUES (?)";
sql = "INSERT INTO cadastro_cliente (numero) VALUES (?)";
sql = "INSERT INTO cadastro_cliente (bairro) VALUES (?)";
sql = "INSERT INTO cadastro_cliente (cep) VALUES (?)";
sql = "INSERT INTO cadastro_cliente (cidade) VALUES (?)";
sql = "INSERT INTO cadastro_cliente (estado) VALUES (?)";
sql = "INSERT INTO cadastro_cliente (fone) VALUES (?)";
sql = "INSERT INTO cadastro_cliente (cel) VALUES (?)";
sql = "INSERT INTO cadastro_cliente (email) VALUES (?)";
} else {
sql = "UPDATE cadastro_cliente SET cliente=? WHERE id_cadastro_cliente=?";
}
try {
stm = ConexaoBanco.conectar().prepareStatement(sql);
stm.setString(2, ccm.getTxtClienteNome());
stm.setString(3, ccm.getComboBoxClienteSexo());
stm.setString(4, ccm.getFormatterTxtDataNascimento());
stm.setString(5, ccm.getTxtFormatterClienteCPF());
stm.setString(6, ccm.getTxtFormatterClienteRG());
stm.setString(7, ccm.getTxtClienteEndereco());
stm.setString(8, ccm.getTxtClienteNumero());
stm.setString(9, ccm.getTxtClienteBairro());
stm.setString(10, ccm.getTxtFormatterClienteCEP());
stm.setString(11, ccm.getTxtClienteCidade());
stm.setString(12, ccm.getComboBoxClienteEstado());
stm.setString(13, ccm.getTxtFormatterTelefone());
stm.setString(14, ccm.getTxtFormatterClienteCelular());
stm.setString(15, ccm.getTxtClienteEmail());
if (ccm.getId() > 0)
stm.setInt(1, ccm.getId());
stm.execute();
stm.close();
JOptionPane.showMessageDialog(null, "Sucesso");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void excluirDAO(int id) {
// TODO Auto-generated method stub
}
@Override
public void carregarComboBoxDAO(JComboBox<String> itens) throws SQLException {
// TODO Auto-generated method stub
}
@Override
public void consultarDAO(Object... valor) throws SQLException {
// TODO Auto-generated method stub
}
}
Como resolver este stack?