1. 创建数据库和表结构: 首先创建一个名为dorm的数据库,然后在该数据库中创建一个名为student的表,表结构如下:
CREATE TABLE student (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50),
    gender VARCHAR(10),
    age INT,
    dormitory VARCHAR(50),
    phone VARCHAR(20)
);
  1. 初始化模拟数据: 可以使用SQL语句往student表中插入一些模拟数据,例如:
INSERT INTO student (name, gender, age, dormitory, phone) VALUES
('张三', '男', 20, 'A001', '1234567890'),
('李四', '男', 19, 'A002', '2345678901'),
('王五', '女', 21, 'A003', '3456789012'),
('赵六', '男', 20, 'A001', '4567890123'),
('钱七', '女', 19, 'A002', '5678901234'),
('孙八', '男', 21, 'A003', '6789012345');
  1. 搭建项目环境: 使用Servlet和JSP进行前端展示,使用MyBatis进行数据库操作。可以使用Maven构建项目,添加以下依赖:
<dependencies>
    <!-- Servlet -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>
    
    <!-- JSP -->
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>javax.servlet.jsp-api</artifactId>
        <version>2.3.1</version>
        <scope>provided</scope>
    </dependency>
    
    <!-- JSTL -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>
    
    <!-- MyBatis -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.6</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.22</version>
    </dependency>
</dependencies>
  1. 实现学生信息的查询: 首先创建一个Student实体类,包含与数据库表对应的属性和相应的getter和setter方法。
public class Student {
    private int id;
    private String name;
    private String gender;
    private int age;
    private String dormitory;
    private String phone;
    
    // 省略getter和setter方法
}

然后创建一个StudentMapper接口,定义查询学生信息的方法。

public interface StudentMapper {
    List<Student> getStudentsByName(String name);
}

接着创建一个StudentMapper.xml文件,配置查询学生信息的SQL语句。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
        
<mapper namespace="com.example.mapper.StudentMapper">
    <resultMap id="studentResultMap" type="com.example.entity.Student">
        <id property="id" column="id" />
        <result property="name" column="name" />
        <result property="gender" column="gender" />
        <result property="age" column="age" />
        <result property="dormitory" column="dormitory" />
        <result property="phone" column="phone" />
    </resultMap>
    
    <select id="getStudentsByName" resultMap="studentResultMap">
        SELECT * FROM student
        WHERE name LIKE CONCAT('%', #{name}, '%')
    </select>
</mapper>

接下来,在Servlet中调用StudentMapper接口的方法,并将查询结果存储在request中,然后转发到JSP页面进行展示。

@WebServlet("/search")
public class SearchServlet extends HttpServlet {
    private StudentMapper studentMapper;
    
    @Override
    public void init() throws ServletException {
        super.init();
        
        // 初始化StudentMapper
        SqlSessionFactory sqlSessionFactory = MyBatisUtil.getSqlSessionFactory();
        try (SqlSession session = sqlSessionFactory.openSession()) {
            studentMapper = session.getMapper(StudentMapper.class);
        }
    }
    
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String name = request.getParameter("name");
        
        List<Student> students = studentMapper.getStudentsByName(name);
        request.setAttribute("students", students);
        request.getRequestDispatcher("/result.jsp").forward(request, response);
    }
}

最后,创建一个result.jsp页面,用于展示查询结果。

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE html>
<html>
<head>
    <title>学生信息查询结果</title>
</head>
<body>
    <h1>学生信息查询结果</h1>
    
    <table>
        <tr>
            <th>ID</th>
            <th>姓名</th>
            <th>性别</th>
            <th>年龄</th>
            <th>宿舍</th>
            <th>电话</th>
        </tr>
        
        <c:forEach items="${students}" var="student">
            <tr>
                <td>${student.id}</td>
                <td>${student.name}</td>
                <td>${student.gender}</td>
                <td>${student.age}</td>
                <td>${student.dormitory}</td>
                <td>${student.phone}</td>
            </tr>
        </c:forEach>
    </table>
</body>
</html>

以上就是使用Servlet、JSP和MyBatis实现学生宿舍管理功能的思路要求。通过搭建项目环境和数据库,然后实现学生信息的查询功能。在查询过程中,可以通过姓名的模糊查询和分页效果来进行筛选和展示

使用servlet+jsp+mybatis1	案例题目描述实现学生宿舍管理功能。创建数据库dorm再创建如下表结构2	案例完成思路要求:1	完成项目环境和数据库的搭建表初始化好模拟数据20分2	完成学生信息的查询。20分实现姓名的模糊查询加分页效果首页上一页下一页尾页

原文地址: https://www.cveoy.top/t/topic/ioGm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录