Meu banco java precisa reparo

Gente gostaria saber como faço conectar ao Java porem não sei criar método inserir dados através codigo java.

package com.recibo.Recibo;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.Statement;

import java.sql.ResultSet;

public class Recibo_Banco_de_dados {

private Connection connection = null;

private Statement statement = null;

private ResultSet resultSet = null;

public void connectar() {

    String servidor = "jdbc::mysql//127.0.0.1:3306/gerador";

    String usuario = "root";

    String senha = "admin";

    String driver = "com.mysql.jdbc.Driver";

    try {

        Class.forName(driver);

        this.connection = DriverManager.getConnection(servidor, usuario, senha);

        this.statement = this.connection.createStatement();

    } catch (Exception e) {

        System.out.println("Error" + e.getMessage());

    }

}

public boolean verificar() {

    if (this.connection != null) {

        return true;

    } else

        return false;

}

public void listcontato() {

    try {

        String query = "SELECT * FROM RECIBO ORDER BY nome";

        this.resultSet = this.statement.executeQuery(query);

        this.statement = this.connection.createStatement();

        while (this.resultSet.next()) {

            System.out.println("ID" + this.resultSet.getString("id") + "nome" + resultSet.getString("nome"));

        }

    } catch (Exception e) {

        System.out.println("error" + e.getMessage());

    }

}

}

O Statement e o ResultSet deveriam ser apenas variáveis locais, você declarou como variável de instância, não faz sentido, pois a cada query você vai recriá-los.

Prefira utilizar PreparedStatement ao invés de Statement.

No seu código você já está fazendo um SELECT, crie um método parecido que faça o seu INSERT.

Mas volto a repetir:
Prefira utilizar PreparedStatement ao invés de Statement.

1 curtida