IDEA+Java+Servlet+JSP+Bootstrap+Mysql实现Web学生宿舍管理系统(上)

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: IDEA+Java+Servlet+JSP+Bootstrap+Mysql实现Web学生宿舍管理系统

一、系统介绍


1.开发环境


开发工具:IDEA2018.2


JDK版本:jdk1.8


Mysql版本:8.0.13



2.技术选型


1.后端:使用Java+Servlet进行开发,使用过滤器来验证用户是否登录,使用MVC进行分层。


2.数据库:使用JDBC连接数据库,使用getResourceAsStream获取数据库配置文件的信息。


3.前端:使用Bootstrap作为前端框架来开发,使用到jstl来遍历数据。jsp来展示页面。


3.系统功能


1.学生


1.登录系统


2.缺勤记录


缺勤记录查询


3.修改密码


4.退出系统


2.宿舍管理员


1.登录系统


2.学生查看


查看学生信息


3.缺勤记录管理


缺勤记录的增删改查。


4.修改密码


5.退出系统


3.系统管理员


1.登录系统


2.宿舍管理员管理


宿舍管理员信息的增删改查。


3.学生信息管理


学生信息的增删改查。


4.宿舍楼信息管理


宿舍楼信息的增删改查。


5.缺勤记录管理


缺勤记录删除


6.修改密码


7.退出系统


4.数据库

/*
 Navicat Premium Data Transfer
 Source Server         : Mysql
 Source Server Type    : MySQL
 Source Server Version : 80013
 Source Host           : localhost:3306
 Source Schema         : jsp_servlet_drom
 Target Server Type    : MySQL
 Target Server Version : 80013
 File Encoding         : 65001
 Date: 22/07/2021 20:46:38
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for t_admin
-- ----------------------------
DROP TABLE IF EXISTS `t_admin`;
CREATE TABLE `t_admin`  (
  `adminId` int(11) NOT NULL AUTO_INCREMENT,
  `userName` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `password` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `sex` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `tel` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`adminId`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of t_admin
-- ----------------------------
INSERT INTO `t_admin` VALUES (1, 'admin', 'admin', '管理员', '男', '1828888888');
-- ----------------------------
-- Table structure for t_dorm
-- ----------------------------
DROP TABLE IF EXISTS `t_dorm`;
CREATE TABLE `t_dorm`  (
  `dormId` int(11) NOT NULL AUTO_INCREMENT,
  `dormBuildId` int(11) NULL DEFAULT NULL,
  `dormName` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `dormType` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `dormNumber` int(11) NULL DEFAULT NULL,
  `dormTel` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`dormId`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of t_dorm
-- ----------------------------
INSERT INTO `t_dorm` VALUES (1, 1, '220', '男', 4, '110');
-- ----------------------------
-- Table structure for t_dormbuild
-- ----------------------------
DROP TABLE IF EXISTS `t_dormbuild`;
CREATE TABLE `t_dormbuild`  (
  `dormBuildId` int(11) NOT NULL AUTO_INCREMENT,
  `dormBuildName` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `dormBuildDetail` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`dormBuildId`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of t_dormbuild
-- ----------------------------
INSERT INTO `t_dormbuild` VALUES (1, '1栋', '一栋信息介绍');
INSERT INTO `t_dormbuild` VALUES (2, '2栋', '二栋信息介绍');
INSERT INTO `t_dormbuild` VALUES (3, '3栋', '三栋信息介绍');
INSERT INTO `t_dormbuild` VALUES (4, '4栋', '四栋信息介绍');
INSERT INTO `t_dormbuild` VALUES (5, '5栋', '五栋信息介绍');
-- ----------------------------
-- Table structure for t_dormmanager
-- ----------------------------
DROP TABLE IF EXISTS `t_dormmanager`;
CREATE TABLE `t_dormmanager`  (
  `dormManId` int(11) NOT NULL AUTO_INCREMENT,
  `userName` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `password` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `dormBuildId` int(11) NULL DEFAULT NULL,
  `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `sex` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `tel` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`dormManId`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of t_dormmanager
-- ----------------------------
INSERT INTO `t_dormmanager` VALUES (1, 'dromadmin', '123456', 4, '宿舍管理员', '男', '18212346589');
-- ----------------------------
-- Table structure for t_record
-- ----------------------------
DROP TABLE IF EXISTS `t_record`;
CREATE TABLE `t_record`  (
  `recordId` int(11) NOT NULL AUTO_INCREMENT,
  `studentNumber` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `studentName` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `dormBuildId` int(11) NULL DEFAULT NULL,
  `dormName` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `date` date NULL DEFAULT NULL,
  `detail` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`recordId`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of t_record
-- ----------------------------
INSERT INTO `t_record` VALUES (1, '001', '李四', 4, '120', '2014-01-01', '回家');
-- ----------------------------
-- Table structure for t_student
-- ----------------------------
DROP TABLE IF EXISTS `t_student`;
CREATE TABLE `t_student`  (
  `studentId` int(11) NOT NULL AUTO_INCREMENT,
  `stuNum` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `password` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `dormBuildId` int(11) NULL DEFAULT NULL,
  `dormName` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `sex` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `tel` varchar(15) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`studentId`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 32 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of t_student
-- ----------------------------
INSERT INTO `t_student` VALUES (1, '001', '123456', '李四', 4, '120', '男', '123456');
INSERT INTO `t_student` VALUES (2, '002', '123456', '王五', 5, '201', '男', '123456');
SET FOREIGN_KEY_CHECKS = 1;


5.工程截图


20210722210549398.jpg


二、系统展示


1.登录界面


20210722211620409.jpg


2.学生-主页面


20210722211630713.jpg

3.学生-缺勤记录


20210722211703306.jpg


4.学生-修改密码


20210722211713945.jpg

5.宿舍管理员-主页面


20210722211724530.jpg

6.宿舍管理员-学生查看


20210722211734173.jpg

7.宿舍管理员-缺勤记录


20210722211743939.jpg

8.宿舍管理员-修改密码


20210722211754684.jpg

9.系统管理员-主页面



10.系统管理员-宿舍管理员管理


20210722211804382.jpg

11.系统管理员-学生管理


20210722211825152.jpg

12.系统管理员-宿舍楼管理


20210722211835496.jpg

13.系统管理员-缺勤记录


20210722211849499.jpg

14.系统管理员-修改密码


20210722211903133.jpg

三、部分代码


DormBuildDao

package com.lero.dao;
import com.lero.model.DormBuild;
import com.lero.model.DormManager;
import com.lero.model.PageBean;
import com.lero.util.StringUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class DormBuildDao {
    public static String dormBuildName(Connection con, int dormBuildId) throws Exception {
        String sql = "select * from t_dormBuild where dormBuildId=?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setInt(1, dormBuildId);
        ResultSet rs = pstmt.executeQuery();
        if (rs.next()) {
            return rs.getString("dormBuildName");
        }
        return null;
    }
    public List<DormBuild> dormBuildList(Connection con, PageBean pageBean, DormBuild s_dormBuild) throws Exception {
        List<DormBuild> dormBuildList = new ArrayList<DormBuild>();
        StringBuffer sb = new StringBuffer("select * from t_dormBuild t1");
        if (StringUtil.isNotEmpty(s_dormBuild.getDormBuildName())) {
            sb.append(" where t1.dormBuildName like '%" + s_dormBuild.getDormBuildName() + "%'");
        }
        if (pageBean != null) {
            sb.append(" limit " + pageBean.getStart() + "," + pageBean.getPageSize());
        }
        PreparedStatement pstmt = con.prepareStatement(sb.toString());
        ResultSet rs = pstmt.executeQuery();
        while (rs.next()) {
            DormBuild dormBuild = new DormBuild();
            dormBuild.setDormBuildId(rs.getInt("dormBuildId"));
            dormBuild.setDormBuildName(rs.getString("dormBuildName"));
            dormBuild.setDetail(rs.getString("dormBuildDetail"));
            dormBuildList.add(dormBuild);
        }
        return dormBuildList;
    }
    public int dormBuildCount(Connection con, DormBuild s_dormBuild) throws Exception {
        StringBuffer sb = new StringBuffer("select count(*) as total from t_dormBuild t1");
        if (StringUtil.isNotEmpty(s_dormBuild.getDormBuildName())) {
            sb.append(" where t1.dormBuildName like '%" + s_dormBuild.getDormBuildName() + "%'");
        }
        PreparedStatement pstmt = con.prepareStatement(sb.toString());
        ResultSet rs = pstmt.executeQuery();
        if (rs.next()) {
            return rs.getInt("total");
        } else {
            return 0;
        }
    }
    public DormBuild dormBuildShow(Connection con, String dormBuildId) throws Exception {
        String sql = "select * from t_dormBuild t1 where t1.dormBuildId=?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, dormBuildId);
        ResultSet rs = pstmt.executeQuery();
        DormBuild dormBuild = new DormBuild();
        if (rs.next()) {
            dormBuild.setDormBuildId(rs.getInt("dormBuildId"));
            dormBuild.setDormBuildName(rs.getString("dormBuildName"));
            dormBuild.setDetail(rs.getString("dormBuildDetail"));
        }
        return dormBuild;
    }
    public int dormBuildAdd(Connection con, DormBuild dormBuild) throws Exception {
        String sql = "insert into t_dormBuild values(null,?,?)";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, dormBuild.getDormBuildName());
        pstmt.setString(2, dormBuild.getDetail());
        return pstmt.executeUpdate();
    }
    public int dormBuildDelete(Connection con, String dormBuildId) throws Exception {
        String sql = "delete from t_dormBuild where dormBuildId=?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, dormBuildId);
        return pstmt.executeUpdate();
    }
    public int dormBuildUpdate(Connection con, DormBuild dormBuild) throws Exception {
        String sql = "update t_dormBuild set dormBuildName=?,dormBuildDetail=? where dormBuildId=?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, dormBuild.getDormBuildName());
        pstmt.setString(2, dormBuild.getDetail());
        pstmt.setInt(3, dormBuild.getDormBuildId());
        return pstmt.executeUpdate();
    }
    public boolean existManOrDormWithId(Connection con, String dormBuildId) throws Exception {
        boolean isExist = false;
//    String sql="select * from t_dormBuild,t_dormManager,t_connection where dormManId=managerId and dormBuildId=buildId and dormBuildId=?";
        String sql = "select *from t_dormManager where dormBuildId=?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, dormBuildId);
        ResultSet rs = pstmt.executeQuery();
        if (rs.next()) {
            isExist = true;
        } else {
            isExist = false;
        }
        String sql1 = "select * from t_dormBuild t1,t_dorm t2 where t1.dormBuildId=t2.dormBuildId and t1.dormBuildId=?";
        PreparedStatement p = con.prepareStatement(sql1);
        p.setString(1, dormBuildId);
        ResultSet r = pstmt.executeQuery();
        if (r.next()) {
            return isExist;
        } else {
            return false;
        }
    }
    public List<DormManager> dormManWithoutBuild(Connection con) throws Exception {
        List<DormManager> dormManagerList = new ArrayList<DormManager>();
        String sql = "SELECT * FROM t_dormManager WHERE dormBuildId IS NULL OR dormBuildId=0";
        PreparedStatement pstmt = con.prepareStatement(sql);
        ResultSet rs = pstmt.executeQuery();
        while (rs.next()) {
            DormManager dormManager = new DormManager();
            dormManager.setDormBuildId(rs.getInt("dormBuildId"));
            dormManager.setDormManagerId(rs.getInt("dormManId"));
            dormManager.setName(rs.getString("name"));
            dormManager.setUserName(rs.getString("userName"));
            dormManager.setSex(rs.getString("sex"));
            dormManager.setTel(rs.getString("tel"));
            dormManagerList.add(dormManager);
        }
        return dormManagerList;
    }
    public List<DormManager> dormManWithBuildId(Connection con, String dormBuildId) throws Exception {
        List<DormManager> dormManagerList = new ArrayList<DormManager>();
        String sql = "select *from t_dormManager where dormBuildId=?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, dormBuildId);
        ResultSet rs = pstmt.executeQuery();
        while (rs.next()) {
            DormManager dormManager = new DormManager();
            dormManager.setDormBuildId(rs.getInt("dormBuildId"));
            dormManager.setDormManagerId(rs.getInt("dormManId"));
            dormManager.setName(rs.getString("name"));
            dormManager.setUserName(rs.getString("userName"));
            dormManager.setSex(rs.getString("sex"));
            dormManager.setTel(rs.getString("tel"));
            dormManagerList.add(dormManager);
        }
        return dormManagerList;
    }
    public int managerUpdateWithId(Connection con, String dormManagerId, String dormBuildId) throws Exception {
        String sql = "update t_dormManager set dormBuildId=? where dormManId=?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, dormBuildId);
        pstmt.setString(2, dormManagerId);
        return pstmt.executeUpdate();
    }
}

DormManagerDao

package com.lero.dao;
import com.lero.model.DormManager;
import com.lero.model.PageBean;
import com.lero.util.StringUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class DormManagerDao {
    public List<DormManager> dormManagerList(Connection con, PageBean pageBean, DormManager s_dormManager) throws Exception {
        List<DormManager> dormManagerList = new ArrayList<DormManager>();
        StringBuffer sb = new StringBuffer("SELECT * FROM t_dormManager t1 ORDER BY t1.userName");
        if (StringUtil.isNotEmpty(s_dormManager.getName())) {
            sb.append(" where t1.name like '%" + s_dormManager.getName() + "%'");
        } else if (StringUtil.isNotEmpty(s_dormManager.getUserName())) {
            sb.append(" where t1.userName like '%" + s_dormManager.getUserName() + "%'");
        }
        if (pageBean != null) {
            sb.append(" limit " + pageBean.getStart() + "," + pageBean.getPageSize());
        }
        PreparedStatement pstmt = con.prepareStatement(sb.toString());
        ResultSet rs = pstmt.executeQuery();
        while (rs.next()) {
            DormManager dormManager = new DormManager();
            dormManager.setDormManagerId(rs.getInt("dormManId"));
            int dormBuildId = rs.getInt("dormBuildId");
            dormManager.setDormBuildId(dormBuildId);
            dormManager.setDormBuildName(DormBuildDao.dormBuildName(con, dormBuildId));
            dormManager.setName(rs.getString("name"));
            dormManager.setSex(rs.getString("sex"));
            dormManager.setUserName(rs.getString("userName"));
            dormManager.setTel(rs.getString("tel"));
            dormManager.setPassword(rs.getString("password"));
            dormManagerList.add(dormManager);
        }
        return dormManagerList;
    }
    public int dormManagerCount(Connection con, DormManager s_dormManager) throws Exception {
        StringBuffer sb = new StringBuffer("select count(*) as total from t_dormManager t1");
        if (StringUtil.isNotEmpty(s_dormManager.getName())) {
            sb.append(" where t1.name like '%" + s_dormManager.getName() + "%'");
        } else if (StringUtil.isNotEmpty(s_dormManager.getUserName())) {
            sb.append(" where t1.userName like '%" + s_dormManager.getUserName() + "%'");
        }
        PreparedStatement pstmt = con.prepareStatement(sb.toString());
        ResultSet rs = pstmt.executeQuery();
        if (rs.next()) {
            return rs.getInt("total");
        } else {
            return 0;
        }
    }
    public DormManager dormManagerShow(Connection con, String dormManagerId) throws Exception {
        String sql = "select * from t_dormManager t1 where t1.dormManId=?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, dormManagerId);
        ResultSet rs = pstmt.executeQuery();
        DormManager dormManager = new DormManager();
        if (rs.next()) {
            dormManager.setDormManagerId(rs.getInt("dormManId"));
            dormManager.setDormBuildId(rs.getInt("dormBuildId"));
            dormManager.setName(rs.getString("name"));
            dormManager.setSex(rs.getString("sex"));
            dormManager.setUserName(rs.getString("userName"));
            dormManager.setTel(rs.getString("tel"));
            dormManager.setPassword(rs.getString("password"));
        }
        return dormManager;
    }
    public int dormManagerAdd(Connection con, DormManager dormManager) throws Exception {
        String sql = "insert into t_dormManager values(null,?,?,null,?,?,?)";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, dormManager.getUserName());
        pstmt.setString(2, dormManager.getPassword());
        pstmt.setString(3, dormManager.getName());
        pstmt.setString(4, dormManager.getSex());
        pstmt.setString(5, dormManager.getTel());
        return pstmt.executeUpdate();
    }
    public int dormManagerDelete(Connection con, String dormManagerId) throws Exception {
        String sql = "delete from t_dormManager where dormManId=?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, dormManagerId);
        return pstmt.executeUpdate();
    }
    public int dormManagerUpdate(Connection con, DormManager dormManager) throws Exception {
        String sql = "update t_dormManager set userName=?,password=?,name=?,sex=?,tel=? where dormManId=?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, dormManager.getUserName());
        pstmt.setString(2, dormManager.getPassword());
        pstmt.setString(3, dormManager.getName());
        pstmt.setString(4, dormManager.getSex());
        pstmt.setString(5, dormManager.getTel());
        pstmt.setInt(6, dormManager.getDormManagerId());
        return pstmt.executeUpdate();
    }
    public boolean haveManagerByUser(Connection con, String userName) throws Exception {
        String sql = "select * from t_dormmanager t1 where t1.userName=?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, userName);
        ResultSet rs = pstmt.executeQuery();
        if (rs.next()) {
            return true;
        }
        return false;
    }
}
相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
7月前
|
安全 Java API
Java Web 在线商城项目最新技术实操指南帮助开发者高效完成商城项目开发
本项目基于Spring Boot 3.2与Vue 3构建现代化在线商城,涵盖技术选型、核心功能实现、安全控制与容器化部署,助开发者掌握最新Java Web全栈开发实践。
682 1
|
7月前
|
存储 前端开发 Java
【JAVA】Java 项目实战之 Java Web 在线商城项目开发实战指南
本文介绍基于Java Web的在线商城技术方案与实现,涵盖三层架构设计、MySQL数据库建模及核心功能开发。通过Spring MVC + MyBatis + Thymeleaf实现商品展示、购物车等模块,提供完整代码示例,助力掌握Java Web项目实战技能。(238字)
817 0
|
11月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
8月前
|
JavaScript Java 微服务
现代化 Java Web 在线商城项目技术方案与实战开发流程及核心功能实现详解
本项目基于Spring Boot 3与Vue 3构建现代化在线商城系统,采用微服务架构,整合Spring Cloud、Redis、MySQL等技术,涵盖用户认证、商品管理、购物车功能,并支持Docker容器化部署与Kubernetes编排。提供完整CI/CD流程,助力高效开发与扩展。
882 64
|
7月前
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
314 13
|
存储 Java 关系型数据库
java调用mysql存储过程
在 Java 中调用 MySQL 存储过程主要借助 JDBC(Java Database Connectivity)。其核心原理是通过 JDBC 与 MySQL 建立连接,调用存储过程并处理结果。具体步骤包括:加载 JDBC 驱动、建立数据库连接、创建 CallableStatement 对象、设置存储过程参数并执行调用。此过程实现了 Java 程序与 MySQL 数据库的高效交互。
|
8月前
|
前端开发 Java 数据库
Java 项目实战从入门到精通 :Java Web 在线商城项目开发指南
本文介绍了一个基于Java Web的在线商城项目,涵盖技术方案与应用实例。项目采用Spring、Spring MVC和MyBatis框架,结合MySQL数据库,实现商品展示、购物车、用户注册登录等核心功能。通过Spring Boot快速搭建项目结构,使用JPA进行数据持久化,并通过Thymeleaf模板展示页面。项目结构清晰,适合Java Web初学者学习与拓展。
532 1
|
9月前
|
缓存 NoSQL Java
Java Web 从入门到精通之苍穹外卖项目实战技巧
本项目为JavaWeb综合实战案例——苍穹外卖系统,涵盖Spring Boot 3、Spring Cloud Alibaba、Vue 3等主流技术栈,涉及用户认证、订单处理、Redis缓存、分布式事务、系统监控及Docker部署等核心功能,助你掌握企业级项目开发全流程。
909 0
|
9月前
|
安全 JavaScript Java
java Web 项目完整案例实操指南包含从搭建到部署的详细步骤及热门长尾关键词解析的实操指南
本项目为一个完整的JavaWeb应用案例,采用Spring Boot 3、Vue 3、MySQL、Redis等最新技术栈,涵盖前后端分离架构设计、RESTful API开发、JWT安全认证、Docker容器化部署等内容,适合掌握企业级Web项目全流程开发与部署。
736 0
|
9月前
|
人工智能 Java 关系型数据库
Java的时间处理与Mysql的时间查询
本文总结了Java中时间与日历的常用操作,包括时间的转换、格式化、日期加减及比较,并介绍了MySQL中按天、周、月、季度和年进行时间范围查询的方法,适用于日常开发中的时间处理需求。
165 0

推荐镜像

更多