Ejemplo de Spring JDBC

JDBC o Java Database Connectivity es una especificación de los microsistemas de Sun que proporciona una abstracción estándar (es decir, API o protocolo) para que las aplicaciones Java se comuniquen con varias bases de datos. Proporciona al lenguaje estándares de conectividad de base de datos Java. Se utiliza para escribir programas necesarios para acceder a bases de datos. JDBC junto con el controlador de base de datos es capaz de acceder a bases de datos y hojas de cálculo. Se puede acceder a los datos empresariales almacenados en una base de datos relacional (RDB) con la ayuda de las API de JDBC. En este artículo, vamos a discutir cómo escribir un programa JDBC usando Spring Framework.

Requisito previo: tutorial de JDBC

Implementación paso a paso

Paso 1: Cree un proyecto Java simple en su IDE preferido (IntelliJ IDEA o Eclipse). Puedes consultar estos artículos:

Paso 2: crea algunas tablas dentro de tu base de datos. En este artículo, hemos utilizado la base de datos MySQL. Y los siguientes datos han estado presentes dentro de nuestra base de datos MySQL.

Data Inside our MySQL Database

Así que aquí ‘ studentdb’ es nuestro nombre de esquema y ‘ hostalstudentinfo’ es el nombre de la tabla. De manera similar, puede crear su propio esquema y tabla y colocar algunos datos dentro de esa tabla manualmente. Puedes consultar estos artículos:

Paso 3: Vaya al proyecto Java y cree una clase llamada StudentDAO y dentro de la clase, vamos a crear un único método selectAllRows() para obtener todos los datos presentes dentro de nuestra base de datos MySQL. También vamos a declarar nuestros cuatro atributos más importantes para conectar nuestro programa Java con el servidor MySQL. 

  • Conductor
  • URL
  • Usuario
  • Clave

Ejemplo

Java

// Java Program to fetch All Data Present Inside MySQL DB
  
// Importing required classes
import java.sql.*;
  
// Main class
public class StudentDAO {
  
    // Class data members
    private String driver;
    private String url;
    private String userName;
    private String password;
  
    // Setter methods for
    // Setter Injection
    public void setDriver(String driver)
    {
        this.driver = driver;
    }
  
    // Setter
    public void setUrl(String url) { this.url = url; }
  
    // Setter
    public void setUserName(String userName)
    {
        this.userName = userName;
    }
  
    // Setter
    public void setPassword(String password)
    {
        this.password = password;
    }
  
    // Setter
    public void selectAllRows()
        throws ClassNotFoundException, SQLException
    {
        System.out.println("Retrieving all student data..");
  
        // Load driver
        Class.forName(driver);
  
        // Getting a connection
        Connection con = DriverManager.getConnection(
            url, userName, password);
  
        // Execute query
        Statement stmt = con.createStatement();
  
        ResultSet rs = stmt.executeQuery(
            "SELECT * FROM studentdb.hostelstudentinfo");
  
        while (rs.next()) {
            int studentId = rs.getInt(1);
            String studentName = rs.getString(2);
            double hostelFees = rs.getDouble(3);
            String foodType = rs.getString(4);
  
            System.out.println(studentId + " " + studentName
                               + " " + hostelFees + " "
                               + foodType);
        }
  
        // Closing the connection
        con.close();
    }
}

Paso 4: ahora tenemos que agregar los archivos JAR externos a un proyecto IntelliJ IDEA. Un JAR (Java Archive) es un formato de archivo de paquete que normalmente se usa para agregar muchos archivos de clase Java y metadatos y recursos asociados (texto, imágenes, etc.) en un solo archivo para distribuir software de aplicación o bibliotecas en la plataforma Java. En palabras simples, un archivo JAR es un archivo que contiene una versión comprimida de archivos .class, archivos de audio, archivos de imagen o directorios. Tenemos que agregar los siguientes archivos jar externos a nuestro proyecto Java

  • Primavera
  • Conector MySQL

Puede consultar este artículo ¿Cómo agregar un archivo JAR externo a un proyecto IntelliJ IDEA? . Puede descargar el archivo jar desde los siguientes enlaces

Paso 5: Vamos a crear el bean de la clase StudentDAO dentro del archivo beans.xml e inyectar los valores de las propiedades mediante inyección de setter. Puede consultar este artículo Primavera – Inyección de valores literales por inyección Setter . A continuación se muestra el código para el archivo beans.xml .

XML

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd">
  
    <bean id="studentDAO" class="StudentDAO">
        <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/studentdb"/>
        <property name="userName" value="root"/>
        <property name="password" value="your password"/>
    </bean>
  
</beans>

Paso 6: cree la clase principal y probemos si nuestra aplicación funciona bien o no. A continuación se muestra el código del archivo Main.java .

Java

// Importing SQL classes
import java.sql.SQLException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
  
// Class
public class Main {
    public static void main(String[] args)
        throws SQLException, ClassNotFoundException
    {
  
        // Using ApplicationContext tom implement Spring IoC
        ApplicationContext context
            = new ClassPathXmlApplicationContext(
                "beans.xml");
  
        // Get the bean studentDAO
        StudentDAO studentDAO = context.getBean(
            "studentDAO", StudentDAO.class);
  
        // Calling the method
        studentDAO.selectAllRows();
    }
}

Salida: puede ver que hemos obtenido con éxito los datos de la base de datos MySQL.

Retrieving all student data..
1 Asish 300.5 Veg
2 Vicky 245.89 Non Veg
3 Anshul 123.67 Veg

Publicación traducida automáticamente

Artículo escrito por AmiyaRanjanRout y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *