Java前后端交互实现班级管理(查询)

1,数据库创建存储专业信息的表

2,后端:

连接数据库工具类DBUtil.java:

java 复制代码
package com.ffyc.webserver.util;

import java.sql.*;

public class DButils {
    static {
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    public static Connection getConnection() throws SQLException {

        String url = "jdbc:mysql://127.0.0.1:3306/userdb?serverTimezone=Asia/Shanghai";
        Connection connection = DriverManager.getConnection(url, "root", "123456");
        return connection;
    }

    public static void close(ResultSet resultSet, Statement statement, Connection connection) throws SQLException {

        if (resultSet != null) {
            resultSet.close();
        }
        if (statement != null) {
            statement.close();
        }
        if (connection != null) {
            connection.close();
        }

    }
}

专业类信息:

java 复制代码
package com.ffyc.webserver.Models;

import java.util.Date;

public class Major {
    int id;
    String name;
    int adminid;
    Date oper_time;
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAdminid() {
        return adminid;
    }

    public void setAdminid(int adminid) {
        this.adminid = adminid;
    }

    public Date getOper_time() {
        return oper_time;
    }

    public void setOper_time(Date oper_time) {
        this.oper_time = oper_time;
    }
}

后端对数据库查询:

java 复制代码
package com.ffyc.webserver.dao;

import com.ffyc.webserver.Models.Major;
import com.ffyc.webserver.Models.Student;
import com.ffyc.webserver.util.DButils;

import javax.imageio.ImageReader;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class MajorDao {
    public List<Major>majors() throws SQLException {
        List<Major>list=new ArrayList<>();
        Connection connection= DButils.getConnection();
        String sql="SELECT m.id,m.name,a.account,m.oper_time\n" +
                "FROM major m LEFT JOIN USER a \n" +
                "ON a.id=m.adminid;";
        PreparedStatement preparedStatement= connection.prepareStatement(sql);
        ResultSet resultSet=preparedStatement.executeQuery();
        while(resultSet.next())
        {
            Major major=new Major();
            major.setId(resultSet.getInt("id"));
            major.setAccount(resultSet.getString("account"));
            major.setName(resultSet.getString("name"));
            major.setOper_time(resultSet.getDate("oper_time"));
            list.add(major);
        }
        DButils.close(resultSet,preparedStatement,connection);
        return list;
    }
}

创建专业servlet:MajorServlet.java

java 复制代码
package com.ffyc.webserver.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class MajorServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doGet(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doPost(req, resp);
    }
}

重写代码:

java 复制代码
package com.ffyc.webserver.servlet;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.ffyc.webserver.Models.CommonData;
import com.ffyc.webserver.Models.Major;
import com.ffyc.webserver.dao.MajorDao;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class MajorServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        PrintWriter printWriter= resp.getWriter();
        CommonData commonData=null;
        try{
            MajorDao majorDao=new MajorDao();
            List<Major>majorlist= majorDao.majors();
            commonData=new CommonData(200,majorlist,"查询成功!");
        } catch (SQLException throwables) {
            throwables.printStackTrace();
            commonData=new CommonData(401,"服务器忙...请稍后重试!");
        }
        ObjectMapper objectMapper=new ObjectMapper();
        String json=objectMapper.writeValueAsString(commonData);
        printWriter.print(json);
    }
}

配置web.xml

java 复制代码
    <servlet>
        <servlet-name>Major</servlet-name>
        <servlet-class>com.webserver.servlet.MajorServlet</servlet-class>
        <!--        <load-on-startup>0</load-on-startup>-->
    </servlet>
    <servlet-mapping>
        <servlet-name>Major</servlet-name>
        <url-pattern>/admin/MajorServlet</url-pattern>
    </servlet-mapping>

前端:

html 复制代码
<template>
	<div>
		<el-button type="primary">添加专业信息</el-button>
		<el-table :data="tableData" height="400" border style="width: 100%">
			<el-table-column prop="id" label="序号" width="100">
			</el-table-column>
			<el-table-column prop="name" label="专业名" width="100">
			</el-table-column>
			<el-table-column prop="account" label="修改人">
			</el-table-column>
			<el-table-column prop="oper_time" label="修改时间" align="center">
			</el-table-column>
			<el-table-column width="200">
				<template slot-scope="scope">
					<el-button type="primary" icon="el-icon-edit"></el-button>
					<el-button type="primary" icon="el-icon-delete"></el-button>
				</template>
			</el-table-column>

		</el-table>
	</div>
</template>
<script>
	export default {
		data() {
			return {
				tableData: []
			}
		},
		mounted() {
			this.$http.get("admin/MajorServlet").then(resp => {
				this.tableData = resp.data.data;
			})
		}
	}
</script>

<style>
</style>

效果展示:

以上仅完成了对专业信息的查询。

相关推荐
阿智@11几秒前
推荐使用 pnpm 而不是 npm
前端·arcgis·npm
canonical_entropy6 分钟前
不同的工作需要不同人格的AI大模型?
人工智能·后端·ai编程
EveryPossible10 分钟前
静态箭头连线
开发语言·javascript·ecmascript
伍哥的传说11 分钟前
QRCode React 完全指南:现代化二维码生成解决方案
前端·javascript·react.js·qrcode.react·react二维码生成·qrcodesvg·qrcodecanvas
NiKo_W12 分钟前
Git 版本回退与撤销修改
开发语言·git·安全
IT_陈寒16 分钟前
Vite 5.0 终极优化指南:7个配置技巧让你的构建速度提升200%
前端·人工智能·后端
listhi52020 分钟前
Map对象在JavaScript循环中的使用
开发语言·前端·javascript
小熊学Java21 分钟前
基于 Spring Boot+Vue 的高校竞赛管理平台
vue.js·spring boot·后端
安卓开发者27 分钟前
鸿蒙Next Web组件生命周期详解:从加载到销毁的全流程掌控
前端
大可门耳32 分钟前
Qt第一课:Qt是什么?相对于其他框架的优劣势是什么
开发语言·qt