idea连接数据库

首先点击右边的数据库,然后数据源,选择mysql,输入账号,密码,测试链接,确定。

 

1.创建数据库

CREATE DATABASE database_name;

2.选择数据库

use database_name;

3.创建一个表

create table biao_name();

比如创建一个表名为student的表,里面有学号,姓名,性别

 

这个表就建好了。

实现增删改查

1.增

增加学生信息

 

 做了一个增加的界面,包括学生的学号,姓名,性别

这是addStudent.jsp界面的代码

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<%
    String studentId = request.getParameter("studentId"); // 获取请求中的学生ID参数
    String studentName = request.getParameter("studentName"); // 获取请求中的学生姓名参数
    String studentGender = request.getParameter("studentGender"); // 获取请求中的学生性别参数

    Connection conn = null;
    PreparedStatement pstmt = null;
    try {
        Class.forName("com.mysql.jdbc.Driver"); // 加载MySQL数据库驱动
        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/school", "root", "123456"); // 连接到名为school的数据库,使用root用户和密码123456
        pstmt = conn.prepareStatement("INSERT INTO student (id, name, sex) VALUES (?, ?, ?)"); // 准备插入数据的SQL语句,向student表中插入id、name、sex三个字段的值
        pstmt.setString(1, studentId); // 设置第一个参数的值为学生ID
        pstmt.setString(2, studentName); // 设置第二个参数的值为学生姓名
        pstmt.setString(3, studentGender); // 设置第三个参数的值为学生性别
        pstmt.executeUpdate(); // 执行SQL语句,插入数据
    } catch (Exception e) {
        e.printStackTrace(); // 捕获异常并打印异常信息
    } finally {
        if (pstmt != null) {
            pstmt.close(); // 关闭PreparedStatement对象
        }
        if (conn != null) {
            conn.close(); // 关闭数据库连接
        }
    }
%>

 

 

2.删

删除学生信息

还是做一个删除界面

 deleteStudent.jsp界面代码是

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<!--设置页面语言和编码方式-->
<%@ page import="java.sql.*" %>

<!--导入java.sql包-->
<% String studentId = request.getParameter("studentId"); //获取请求参数中的studentId

    Connection conn = null;
    PreparedStatement pstmt = null;
//初始化数据库连接和预处理语句对象
    try {
        Class.forName("com.mysql.jdbc.Driver");
        //加载MySQL驱动程序
        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/school", "root", "123456");
        //连接数据库,指定数据库地址、用户名和密码
        pstmt = conn.prepareStatement("DELETE FROM student WHERE id = ?");
        //创建预处理语句对象,用于执行SQL语句
        pstmt.setString(1, studentId);
        //设置预处理语句中的参数值
        pstmt.executeUpdate();
        //执行SQL语句,删除指定id的学生信息
    } catch (Exception e) {
        e.printStackTrace();
        //捕获并打印异常信息
    } finally {
        if (pstmt != null) {
            pstmt.close();
            //释放预处理语句对象
        }
        if (conn != null) {
            conn.close();
            //关闭数据库连接
        }
    }
%>

 

3.改

修改学生信息

<%
    // 获取表单提交的学生信息
    String studentId = request.getParameter("studentId");
    String name = request.getParameter("name");
    String gender = request.getParameter("gender");

    // 更新学生信息到数据库
    Connection conn = null;
    PreparedStatement stmt = null;
    try {
        Class.forName("com.mysql.jdbc.Driver");
        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/school", "root", "123456");
        String sql = "UPDATE student SET name=?, sex=? WHERE id=?";//通过id查找有没有这个学生,然后修改学生信息
        stmt = conn.prepareStatement(sql);
        stmt.setString(1, name);
        stmt.setString(2, gender);
        stmt.setString(3, studentId);
        int rows = stmt.executeUpdate();
        if (rows > 0) {
            System.out.println("学生信息更新成功!");
        } else {
            System.out.println("学生信息更新失败!");
        }
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (stmt != null) {
                stmt.close();
//释放预处理语句对象
} if (conn != null)
{ conn.close();
  //关闭数据库连接
 } 
}
catch (SQLException e)
{ e.printStackTrace(); }
}
%>

 

4.查询

 

<%@ page import="java.sql.*" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>查询学生信息</title>
</head>
<body>
<h1>查询学生信息</h1>
<form action="search.jsp" method="post">
    <label for="studentId">请输入学生学号:</label>
    <input type="text" id="studentId" name="studentId">
    <input type="submit" value="查询">
</form>

<%
    String studentId = request.getParameter("studentId");
    if (studentId != null) {
        // 查询数据库中的学生信息
        Connection conn = null; // 定义数据库连接对象
        PreparedStatement stmt = null; // 定义预处理语句对象
        ResultSet rs = null; // 定义结果集对象
        try {
            Class.forName("com.mysql.jdbc.Driver"); // 加载数据库驱动
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/school", "root", "123456"); // 获取数据库连接
            String sql = "SELECT * FROM student WHERE id=?"; // 定义查询语句
            stmt = conn.prepareStatement(sql); // 创建预处理语句对象
            stmt.setString(1, studentId); // 设置参数
            rs = stmt.executeQuery(); // 执行查询操作
            if (rs.next()) { // 判断是否有查询结果
                String name = rs.getString("name"); // 获取学生姓名
                String gender = rs.getString("gender"); // 获取学生性别
%>
<h2>学生信息:</h2>
<p>学号:<%= studentId %></p>
<p>姓名:<%= name %></p>
<p>性别:<%= gender %></p>
<%
} else {
%>
<p>未找到学号为<%= studentId %>的学生信息</p>
<%
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (rs != null) {
                    rs.close();
                }
                if (stmt != null) {
                    stmt.close();
                }
                if (conn != null) {
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
%>
</body>
</html>

 

开始是一个输入学号的表单,输入学号后点击查询按钮,然后根据学号查询数据库中的学生信息,并显示在页面上。如果查询到了学生信息,就会在页面上显示学号、姓名和性别信息;如果未找到对应学号的学生信息,则会显示相应的提示信息

 

posted @ 2023-12-04 15:38  酥饼馅红豆沙  阅读(110)  评论(0编辑  收藏  举报