Spring JDBC 示例
JDBC 或Java数据库连接是来自 Sun 微系统的规范,它为Java应用程序与各种数据库通信提供标准抽象(即 API 或协议)。它为该语言提供了Java数据库连接标准。它用于编写访问数据库所需的程序。 JDBC 与数据库驱动程序一起能够访问数据库和电子表格。可以借助 JDBC API 访问存储在关系数据库 (RDB) 中的企业数据。在本文中,我们将讨论如何使用 Spring Framework 编写 JDBC 程序。
Prerequisite: JDBC Tutorial
分步实施
第 1 步:在您首选的 IDE(IntelliJ IDEA 或 Eclipse)中创建一个简单的Java项目。你可以参考这些文章:
- 在 IntelliJ IDEA 中创建第一个Java应用程序
- 如何为Java安装 Eclipse IDE?
第 2 步:在数据库中创建一些表。在本文中,我们使用了 MySQL 数据库。我们的 MySQL 数据库中已经存在以下数据。
所以这里的“ studentdb”是我们的模式名,“hostelstudentinfo ”是表名。同样,您可以创建自己的模式和表,并手动将一些数据放入该表中。你可以参考这些文章:
- 如何在 Windows 上安装 MySQL?
- 如何在 Windows 上为 MySQL 安装 SQL Workbench?
第 3 步:转到Java项目并创建一个名为StudentDAO的类,在该类中,我们将创建一个方法selectAllRows()来获取 MySQL 数据库中存在的所有数据。我们还将声明我们的四个最重要的属性,以将我们的Java程序与 MySQL 服务器连接起来。
- 司机
- 网址
- 用户
- 密码
例子
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();
}
}
XML
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();
}
}
第 4 步:现在我们必须将外部 JAR 文件添加到 IntelliJ IDEA 项目中。 JAR(Java Archive)是一种包文件格式,通常用于将许多Java类文件和相关的元数据和资源(文本、图像等)聚合到一个文件中,以在Java平台上分发应用程序软件或库。简而言之,JAR 文件是包含 .class 文件、音频文件、图像文件或目录的压缩版本的文件。我们必须将以下外部 jar 文件添加到我们的Java项目中
- 春天
- MySQL 连接器
您可以参考这篇文章 How to Add External JAR File to an IntelliJ IDEA Project?。您可以从以下链接下载 jar 文件
- 春天:点击这里
- MySQL 连接器:单击此处
第 5 步:让我们在beans.xml文件中创建 StudentDAO 类的 bean,并通过 setter 注入来注入属性的值。你可以参考这篇文章 Spring – Injecting 字面量 Values By Setter Injection。下面是beans.xml文件的代码。
XML
第 6 步:创建 Main 类,让我们测试我们的应用程序是否运行良好。下面是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();
}
}
输出:您可以看到我们已成功从 MySQL 数据库中获取数据。
Retrieving all student data..
1 Asish 300.5 Veg
2 Vicky 245.89 Non Veg
3 Anshul 123.67 Veg