黑狐家游戏

java数据库连接实验报告,Java数据库连接实验心得,深入探索数据库连接与操作

欧气 0 0

本文目录导读:

  1. 实验背景
  2. 实验目的

实验背景

随着互联网技术的飞速发展,数据库已经成为现代企业中不可或缺的一部分,Java作为一门流行的编程语言,与数据库的结合应用越来越广泛,本次实验旨在通过Java连接数据库,学习数据库的基本操作,提高编程能力。

java数据库连接实验报告,Java数据库连接实验心得,深入探索数据库连接与操作

图片来源于网络,如有侵权联系删除

实验目的

1、掌握Java连接数据库的方法;

2、熟悉数据库的基本操作,如增、删、改、查;

3、理解数据库连接池的概念及其应用;

4、提高编程能力,为以后的项目开发打下基础。

1、数据库连接

本次实验采用MySQL数据库,通过JDBC连接数据库,在项目中添加MySQL的JDBC驱动包,编写以下代码实现数据库连接:

java数据库连接实验报告,Java数据库连接实验心得,深入探索数据库连接与操作

图片来源于网络,如有侵权联系删除

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DatabaseConnect {
    public static Connection getConnection() throws ClassNotFoundException, SQLException {
        // 加载驱动
        Class.forName("com.mysql.jdbc.Driver");
        // 连接数据库
        String url = "jdbc:mysql://localhost:3306/数据库名称?useUnicode=true&characterEncoding=UTF-8";
        String username = "用户名";
        String password = "密码";
        Connection conn = DriverManager.getConnection(url, username, password);
        return conn;
    }
}

2、数据库操作

在连接数据库后,我们可以进行数据库的基本操作,以下是一些示例代码:

(1)插入数据

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class InsertData {
    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement pstmt = null;
        try {
            conn = DatabaseConnect.getConnection();
            String sql = "INSERT INTO 表名 (列1, 列2) VALUES (?, ?)";
            pstmt = conn.prepareStatement(sql);
            pstmt.setString(1, "值1");
            pstmt.setString(2, "值2");
            int result = pstmt.executeUpdate();
            if (result > 0) {
                System.out.println("插入成功");
            }
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                if (pstmt != null) pstmt.close();
                if (conn != null) conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

(2)删除数据

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class DeleteData {
    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement pstmt = null;
        try {
            conn = DatabaseConnect.getConnection();
            String sql = "DELETE FROM 表名 WHERE 列1 = ?";
            pstmt = conn.prepareStatement(sql);
            pstmt.setString(1, "值");
            int result = pstmt.executeUpdate();
            if (result > 0) {
                System.out.println("删除成功");
            }
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                if (pstmt != null) pstmt.close();
                if (conn != null) conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

(3)修改数据

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class UpdateData {
    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement pstmt = null;
        try {
            conn = DatabaseConnect.getConnection();
            String sql = "UPDATE 表名 SET 列1 = ? WHERE 列2 = ?";
            pstmt = conn.prepareStatement(sql);
            pstmt.setString(1, "新值");
            pstmt.setString(2, "旧值");
            int result = pstmt.executeUpdate();
            if (result > 0) {
                System.out.println("修改成功");
            }
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                if (pstmt != null) pstmt.close();
                if (conn != null) conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

(4)查询数据

java数据库连接实验报告,Java数据库连接实验心得,深入探索数据库连接与操作

图片来源于网络,如有侵权联系删除

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class QueryData {
    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        try {
            conn = DatabaseConnect.getConnection();
            String sql = "SELECT * FROM 表名 WHERE 列1 = ?";
            pstmt = conn.prepareStatement(sql);
            pstmt.setString(1, "值");
            rs = pstmt.executeQuery();
            while (rs.next()) {
                String列1 = rs.getString("列1");
                String列2 = rs.getString("列2");
                System.out.println("列1:" + 列1 + ",列2:" + 列2);
            }
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                if (rs != null) rs.close();
                if (pstmt != null) pstmt.close();
                if (conn != null) conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

3、数据库连接池

在实际应用中,频繁地建立和关闭数据库连接会消耗大量资源,我们可以使用数据库连接池来管理数据库连接,以下是一个简单的数据库连接池实现:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.LinkedList;
public class ConnectionPool {
    private static LinkedList<Connection> pool = new LinkedList<>();
    private static String url = "jdbc:mysql://localhost:3306/数据库名称?useUnicode=true&characterEncoding=UTF-8";
    private static String username = "用户名";
    private static String password = "密码";
    public static Connection getConnection() throws ClassNotFoundException, SQLException {
        if (pool.isEmpty()) {
            Class.forName("com.mysql.jdbc.Driver");
            Connection conn = DriverManager.getConnection(url, username, password);
            pool.add(conn);
            return conn;
        } else {
            return pool.removeFirst();
        }
    }
    public static void releaseConnection(Connection conn) {
        if (conn != null) {
            pool.add(conn);
        }
    }
}

通过本次实验,我们掌握了Java连接数据库的方法,熟悉了数据库的基本操作,了解了数据库连接池的概念及其应用,在实验过程中,我们遇到了各种问题,如JDBC驱动包添加错误、SQL语句编写错误等,通过查阅资料和请教同学,我们逐步解决了这些问题,这次实验不仅提高了我们的编程能力,也让我们对数据库有了更深入的了解。

在今后的学习和工作中,我们将继续努力,不断提高自己的技术能力,为我国的信息化建设贡献自己的力量。

标签: #java数据库建立与连接实验心得

黑狐家游戏
  • 评论列表

留言评论