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