黑狐家游戏

jdbc数据库访问技术实验报告,javaweb数据库访问技术实验报告,基于JDBC技术的Java Web数据库访问实验报告

欧气 0 0
本实验报告涵盖了JDBC数据库访问技术和Java Web数据库访问技术。报告详细描述了基于JDBC技术的Java Web数据库访问实验过程,包括环境搭建、代码编写、测试及结果分析,旨在加深对JDBC数据库访问技术的理解与应用。

本文目录导读:

  1. 实验背景与目的
  2. 实验环境

实验背景与目的

随着互联网技术的飞速发展,Java Web应用程序在各个领域得到了广泛的应用,数据库作为应用程序的核心组件,其性能和稳定性直接影响到整个系统的运行效果,本实验旨在通过JDBC(Java Database Connectivity)技术,实现Java Web应用程序对数据库的访问与操作,提高数据库访问效率,确保数据的安全性和可靠性。

实验环境

1、操作系统:Windows 10

2、开发工具:IntelliJ IDEA

3、数据库:MySQL 5.7

jdbc数据库访问技术实验报告,javaweb数据库访问技术实验报告,基于JDBC技术的Java Web数据库访问实验报告

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

4、JDK版本:1.8

5、数据库驱动:mysql-connector-java-5.1.47-bin.jar

1、创建数据库和表

在MySQL数据库中创建一个名为“experiment”的数据库,然后在该数据库中创建一个名为“student”的表,用于存储学生信息,表结构如下:

CREATE TABLE student (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50),
    age INT,
    gender VARCHAR(10)
);

2、JDBC连接数据库

jdbc数据库访问技术实验报告,javaweb数据库访问技术实验报告,基于JDBC技术的Java Web数据库访问实验报告

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

在Java项目中,首先需要导入数据库驱动jar包,编写以下代码实现JDBC连接数据库:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class JDBCDemo {
    public static void main(String[] args) {
        Connection conn = null;
        try {
            // 加载数据库驱动
            Class.forName("com.mysql.jdbc.Driver");
            // 连接数据库
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/experiment", "root", "root");
            System.out.println("连接成功!");
        } catch (ClassNotFoundException e) {
            System.out.println("找不到数据库驱动类!");
            e.printStackTrace();
        } catch (SQLException e) {
            System.out.println("连接数据库失败!");
            e.printStackTrace();
        }
    }
}

3、数据库操作

在连接数据库成功后,可以进行以下操作:

(1)查询数据

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class JDBCDemo {
    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
            // 加载数据库驱动
            Class.forName("com.mysql.jdbc.Driver");
            // 连接数据库
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/experiment", "root", "root");
            // 创建PreparedStatement对象
            String sql = "SELECT * FROM student";
            ps = conn.prepareStatement(sql);
            // 执行查询
            rs = ps.executeQuery();
            // 遍历结果集
            while (rs.next()) {
                int id = rs.getInt("id");
                String name = rs.getString("name");
                int age = rs.getInt("age");
                String gender = rs.getString("gender");
                System.out.println("ID: " + id + ", Name: " + name + ", Age: " + age + ", Gender: " + gender);
            }
        } catch (ClassNotFoundException e) {
            System.out.println("找不到数据库驱动类!");
            e.printStackTrace();
        } catch (SQLException e) {
            System.out.println("查询数据失败!");
            e.printStackTrace();
        } finally {
            // 关闭资源
            try {
                if (rs != null) rs.close();
                if (ps != null) ps.close();
                if (conn != null) conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

(2)插入数据

jdbc数据库访问技术实验报告,javaweb数据库访问技术实验报告,基于JDBC技术的Java Web数据库访问实验报告

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

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class JDBCDemo {
    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement ps = null;
        try {
            // 加载数据库驱动
            Class.forName("com.mysql.jdbc.Driver");
            // 连接数据库
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/experiment", "root", "root");
            // 创建PreparedStatement对象
            String sql = "INSERT INTO student (name, age, gender) VALUES (?, ?, ?)";
            ps = conn.prepareStatement(sql);
            // 设置参数
            ps.setString(1, "张三");
            ps.setInt(2, 20);
            ps.setString(3, "男");
            // 执行插入
            int count = ps.executeUpdate();
            if (count > 0) {
                System.out.println("插入数据成功!");
            } else {
                System.out.println("插入数据失败!");
            }
        } catch (ClassNotFoundException e) {
            System.out.println("找不到数据库驱动类!");
            e.printStackTrace();
        } catch (SQLException e) {
            System.out.println("插入数据失败!");
            e.printStackTrace();
        } finally {
            // 关闭资源
            try {
                if (ps != null) ps.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 JDBCDemo {
    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement ps = null;
        try {
            // 加载数据库驱动
            Class.forName("com.mysql.jdbc.Driver");
            // 连接数据库
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/experiment", "root", "root");
            // 创建PreparedStatement对象
            String sql = "UPDATE student SET name = ?, age = ?, gender = ? WHERE id = ?";
            ps = conn.prepareStatement(sql);
            // 设置参数
            ps.setString(1, "李四");
            ps.setInt(2, 21);
            ps.setString(3, "男");
            ps.setInt(4, 1);
            // 执行更新
            int count = ps.executeUpdate();
            if (count > 0) {
                System.out.println("更新数据成功!");
            } else {
                System.out.println("更新数据失败!");
            }
        } catch (ClassNotFoundException e) {
            System.out.println("找不到数据库驱动类!");
            e.printStackTrace();
        } catch (SQLException e) {
            System.out.println("更新数据失败!");
            e.printStackTrace();
        } finally {
            // 关闭资源
            try {
                if (ps != null) ps.close();
                if (conn != null) conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

(4)删除数据

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class JDBCDemo {
    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement ps = null;
        try {
            // 加载数据库驱动
            Class.forName("com.mysql.jdbc.Driver");
            // 连接数据库
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/experiment", "root", "root");
            // 创建PreparedStatement对象
            String sql = "DELETE FROM student WHERE id = ?";
            ps = conn.prepareStatement(sql);
            // 设置参数
            ps.setInt(1, 1);
            // 执行删除
            int count = ps.executeUpdate();
            if (count > 0) {
                System.out.println("删除数据成功!");
            } else {
                System.out.println("删除数据失败!");
            }
        } catch (ClassNotFoundException e) {
            System.out.println("找不到数据库驱动类!");
            e.printStackTrace();
        } catch (SQLException e) {
            System.out.println("删除数据失败!");
            e.printStackTrace();
        } finally {
            // 关闭资源
            try {
                if (ps != null) ps.close();
                if (conn != null) conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

通过本次实验,我们掌握了JDBC技术在Java Web应用程序中访问数据库的方法,在实际开发过程中,我们需要根据具体需求,选择合适的数据库访问方式,以提高数据库访问效率,确保数据的安全性和可靠性,在实际开发中,还需注意异常处理、资源释放等问题,以避免程序出现错误。

标签: #实验报告编写指南

黑狐家游戏
  • 评论列表

留言评论