先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
正文
Java+Springboot+Mybatis+Bootstrap+Maven实现网上商城系统
一、系统介绍
======
1.开发环境
开发工具:IDEA2018.2
JDK版本:jdk1.8
Mysql版本:8.0.13
2.技术选型
后端:Java+Spring+SpringMVC+Mybatis。
前端:Layui+JSP+HTML+CSS。
3.系统功能
登录系统
1.学生
我的成绩:查看个人的成绩。
修改密码:修改系统登录密码。
2.教师
录入成绩:录入和修改学生成绩。
修改密码:修改系统登录密码。
3.管理员
学生管理:对学生信息进行增删改查。
教师管理:对教师信息进行增删改查。
4.数据库
/*
Navicat Premium Data Transfer
Source Server : MySQL
Source Server Type : MySQL
Source Server Version : 80013
Source Host : 127.0.0.1:3306
Source Schema : ssm_score
Target Server Type : MySQL
Target Server Version : 80013
File Encoding : 65001
Date: 01/09/2021 21:45:11
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
– Table structure for admin
DROP TABLE IF EXISTS admin
;
CREATE TABLE admin
(
id
int(11) NOT NULL AUTO_INCREMENT,
username
varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
password
varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
PRIMARY KEY (id
) USING BTREE
) ENGINE = MyISAM AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;
– Records of admin
INSERT INTO admin
VALUES (1, ‘admin’, ‘admin’);
– Table structure for student
DROP TABLE IF EXISTS student
;
CREATE TABLE student
(
id
int(11) NOT NULL AUTO_INCREMENT,
username
varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
password
varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
stuclass
varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
stuname
varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
stuno
varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
score
double NULL DEFAULT NULL,
PRIMARY KEY (id
) USING BTREE
) ENGINE = MyISAM AUTO_INCREMENT = 22 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;
– Records of student
INSERT INTO student
VALUES (8, ‘a’, ‘123456’, ‘1702’, ‘乔乔丫’, ‘1700130222’, 1000);
INSERT INTO student
VALUES (9, ‘b’, ‘123456’, ‘1702’, ‘周瑜’, ‘1700130223’, 100);
INSERT INTO student
VALUES (10, ‘c’, ‘123456’, ‘1703’, ‘曹操’, ‘1700130224’, 6);
INSERT INTO student
VALUES (11, ‘d’, ‘123456’, ‘1704’, ‘小美’, ‘1700130225’, 90);
INSERT INTO student
VALUES (12, ‘e’, ‘123456’, ‘1701’, ‘王菲’, ‘1700130226’, 100);
INSERT INTO student
VALUES (13, ‘f’, ‘123456’, ‘1703’, ‘周杰伦’, ‘1700130227’, NULL);
– Table structure for teacher
DROP TABLE IF EXISTS teacher
;
CREATE TABLE teacher
(
id
int(11) NOT NULL AUTO_INCREMENT,
username
varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
password
varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
teaname
varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
PRIMARY KEY (id
) USING BTREE
) ENGINE = MyISAM AUTO_INCREMENT = 9 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;
– Records of teacher
INSERT INTO teacher
VALUES (3, ‘root’, ‘123456’, ‘李老师’);
INSERT INTO teacher
VALUES (7, ‘a’, ‘123456’, ‘孟老师’);
INSERT INTO teacher
VALUES (5, ‘b’, ‘123456’, ‘赵老师’);
INSERT INTO teacher
VALUES (6, ‘c’, ‘123456’, ‘李老师’);
SET FOREIGN_KEY_CHECKS = 1;
5.工程截图
二、系统展示
=======
1.登录系统
2.学生-主页面
3.学生-我的成绩
4.学生-修改密码
5.教师-主页面
6.教师-录入成绩
7.教师-修改密码
8.管理员-主页面
9.管理员-学生管理-增加学生
10.管理员–学生管理-管理学生
11.管理员-老师管理-增加老师
12.管理员-老师管理-管理老师
三、部分代码
======
AdminController
package com.hhtc.controller;
import java.util.List;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import com.hhtc.po.Page;
import com.hhtc.po.Student;
import com.hhtc.po.Teacher;
import com.hhtc.service.AdminService;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
@Controller
public class AdminController {
@Autowired
private AdminService adminService;
@RequestMapping(“/welcome”)
public ModelAndView welcome(Model model) {
ModelAndView mav = new ModelAndView(“admin/welcome”);
return mav;
}
//学生
//学生数据分页
@RequestMapping(value = “/liststudent”,method = {RequestMethod.POST, RequestMethod.GET},produces =“application/json;charset=UTF-8”)
@ResponseBody
public String liststudent(Page page) {
List list=adminService.stumanage();
page.caculatestart();
List list2=adminService.liststudent(page);
JSONObject jsonobj=new JSONObject();
jsonobj.put(“code”, 0);
jsonobj.put(“msg”, “成功”);
jsonobj.put(“count”,list.size());
JSONArray jsonobj2=new JSONArray();
JSONObject jsonobj3=new JSONObject();
for(Student student:list2) {
jsonobj3.put(“id”,student.getId());
jsonobj3.put(“username”,student.getUsername());
jsonobj3.put(“password”,student.getPassword());
jsonobj3.put(“stuclass”,student.getStuclass());
jsonobj3.put(“stuname”,student.getStuname());
jsonobj3.put(“stuno”,student.getStuno());
jsonobj2.add(jsonobj3);
}
jsonobj.put(“data”, jsonobj2);
return jsonobj.toString();
}
@RequestMapping(“/addstudent”)
public ModelAndView addstu(Student student,Model model) {
adminService.addStudent(student);
ModelAndView mav = new ModelAndView(“admin/stumanage”);
return mav;
}
@RequestMapping(“/delstu”)
public ModelAndView delstu(String id,Model model) {
adminService.delstudnet(id);
ModelAndView mav = new ModelAndView(“admin/stumanage”);
return mav;
}
@RequestMapping(“/updatestu”)
public ModelAndView updatestu(String id,Student student,Model model) {
student.setId(Integer.parseInt(id));
adminService.updatestu(student);
ModelAndView mav = new ModelAndView(“admin/stumanage”);
return mav;
}
@RequestMapping(value = “/mohuname”,method = {RequestMethod.POST, RequestMethod.GET},produces =“application/json;charset=UTF-8”)
@ResponseBody
public String mohuname(HttpSession session) {
@SuppressWarnings(“unchecked”)
List list=(List) session.getAttribute(“list”);
JSONObject jsonobj=new JSONObject();
jsonobj.put(“code”, 0);
jsonobj.put(“msg”, “成功”);
jsonobj.put(“count”,list.size());
JSONArray jsonobj2=new JSONArray();
JSONObject jsonobj3=new JSONObject();
for(Student student:list) {
jsonobj3.put(“id”,student.getId());
jsonobj3.put(“username”,student.getUsername());
jsonobj3.put(“password”,student.getPassword());
jsonobj3.put(“stuclass”,student.getStuclass());
jsonobj3.put(“stuname”,student.getStuname());
jsonobj3.put(“stuno”,student.getStuno());
jsonobj2.add(jsonobj3);
}
jsonobj.put(“data”, jsonobj2);
return jsonobj.toString();
}
//老师
@RequestMapping(“/addtea”)
public ModelAndView addteacher(Teacher teacher,Model model) {
adminService.addteacher(teacher);
ModelAndView mav = new ModelAndView(“admin/teamanage”);
return mav;
}
@RequestMapping(value = “/teamanage”,method = {RequestMethod.POST, RequestMethod.GET},produces =“application/json;charset=UTF-8”)
@ResponseBody
public String teamanage(Model model) {
List list=adminService.teamanage();
JSONObject jsonobj=new JSONObject();
jsonobj.put(“code”, 0);
jsonobj.put(“msg”, “成功”);
jsonobj.put(“count”,list.size());
JSONArray jsonobj2=new JSONArray();
JSONObject jsonobj3=new JSONObject();
for(Teacher teacher:list) {
jsonobj3.put(“id”,teacher.getId());
jsonobj3.put(“username”,teacher.getUsername());
jsonobj3.put(“password”,teacher.getPassword());
jsonobj3.put(“teaname”,teacher.getTeaname());
jsonobj2.add(jsonobj3);
}
jsonobj.put(“data”, jsonobj2);
return jsonobj.toString();
}
@RequestMapping(“/deltea”)
public ModelAndView deltea(String id,Model model) {
adminService.delteacher(id);
ModelAndView mav = new ModelAndView(“admin/teamanage”);
return mav;
}
@RequestMapping(“/updatetea”)
public ModelAndView updatetea(String id,Teacher teacher,Model model) {
teacher.setId(Integer.parseInt(id));
adminService.updatetea(teacher);
ModelAndView mav = new ModelAndView(“admin/teamanage”);
return mav;
}
@RequestMapping(value = “/mohunametea”,method = {RequestMethod.POST, RequestMethod.GET},produces =“application/json;charset=UTF-8”)
@ResponseBody
public String mohunametea(HttpSession session) {
@SuppressWarnings(“unchecked”)
List list=(List) session.getAttribute(“tealist”);
JSONObject jsonobj=new JSONObject();
jsonobj.put(“code”, 0);
jsonobj.put(“msg”, “成功”);
jsonobj.put(“count”,list.size());
JSONArray jsonobj2=new JSONArray();
JSONObject jsonobj3=new JSONObject();
for(Teacher teacher:list) {
jsonobj3.put(“id”,teacher.getId());
jsonobj3.put(“username”,teacher.getUsername());
jsonobj3.put(“password”,teacher.getPassword());
jsonobj3.put(“teaname”,teacher.getTeaname());
jsonobj2.add(jsonobj3);
}
jsonobj.put(“data”, jsonobj2);
return jsonobj.toString();
}
}
HrefController
package com.hhtc.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.hhtc.po.Student;
import com.hhtc.po.Teacher;
import com.hhtc.service.AdminService;
@Controller
public class HrefController {
@Autowired
private AdminService adminService;
@RequestMapping(“/index”)
public ModelAndView index(Model model) {
ModelAndView mav = new ModelAndView(“index”);
return mav;
}
//学生
@RequestMapping(“/hrefaddstu”)
public ModelAndView addstu(Model model) {
ModelAndView mav = new ModelAndView(“admin/addstu”);
return mav;
}
@RequestMapping(“/hrefmohuname”)
public ModelAndView hrefmohuname(String stuname,Model model,HttpSession session) {
List list=adminService.selectbyname(stuname);
session.setAttribute(“list”, list);
ModelAndView mav = new ModelAndView(“admin/mohuname”);
return mav;
}
@RequestMapping(“/hrefxiustu”)
public String xiustu(String id,Model model) {
Student student=adminService.selectone(id);
model.addAttribute(“student”,student);
return “admin/updatestu”;
}
@RequestMapping(“/hrefstumanage”)
public ModelAndView hrefstumanage(Model model) {
ModelAndView mav = new ModelAndView(“admin/stumanage”);
return mav;
}
//老师
@RequestMapping(“/hrefaddtea”)
public ModelAndView hrefaddtea(Model model) {
ModelAndView mav = new ModelAndView(“admin/addtea”);
return mav;
}
@RequestMapping(“/hrefteamanage”)
public ModelAndView hrefteamanage(Model model) {
ModelAndView mav = new ModelAndView(“admin/teamanage”);
return mav;
}
@RequestMapping(“/hrefmohunametea”)
public ModelAndView hrefmohunametea(String teaname,Model model,HttpSession session) {
List list=adminService.selectbynametea(teaname);
session.setAttribute(“tealist”,list);
ModelAndView mav = new ModelAndView(“admin/mohuname2”);
return mav;
}
@RequestMapping(“/hrefxiutea”)
public String hrefxiutea(String id,Model model) {
Teacher teacher=adminService.selectonetea(id);
model.addAttribute(“teacher”,teacher);
return “admin/updatetea”;
}
}
LoginController
package com.hhtc.controller;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.hhtc.po.Admin;
import com.hhtc.po.Student;
import com.hhtc.po.Teacher;
import com.hhtc.service.LoginService;
@Controller
public class LoginController {
@Autowired
private LoginService loginService;
@RequestMapping(“/login”)
public ModelAndView findCustomerById(String username,String password,String people,Model model,HttpSession session) {
if(“student”.equals(people)) {
Student student=new Student();
student.setUsername(username);
student.setPassword(password);
Student student2=loginService.findStuTeachByUsername(student);
if(student2!=null) {
session.setAttribute(“student”, student2);
ModelAndView mav = new ModelAndView(“/student/indexs”);
return mav;
}else {
ModelAndView mav = new ModelAndView(“error”);
return mav;
}
}else if(“teacher”.equals(people)){
Teacher teacher=new Teacher();
teacher.setUsername(username);
teacher.setPassword(password);
Teacher teacher2=loginService.findTeachByUsername(teacher);
if(teacher2!=null) {
session.setAttribute(“teacher”, teacher2);
ModelAndView mav = new ModelAndView(“/teacher/indext”);
return mav;
}else {
ModelAndView mav = new ModelAndView(“error”);
return mav;
}
}else if(“manage”.equals(people)){
Admin admin =new Admin();
admin.setUsername(username);
admin.setPassword(password);
if(loginService.findAdminById(admin)!=null) {
ModelAndView mav = new ModelAndView(“/admin/index”);
return mav;
}else {
ModelAndView mav = new ModelAndView(“error”);
return mav;
}
}
独家面经总结,超级精彩
本人面试腾讯,阿里,百度等企业总结下来的面试经历,都是真实的,分享给大家!
Java面试准备
准确的说这里又分为两部分:
- Java刷题
- 算法刷题
Java刷题:此份文档详细记录了千道面试题与详解;
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
delAndView mav = new ModelAndView(“error”);
return mav;
}
}else if(“manage”.equals(people)){
Admin admin =new Admin();
admin.setUsername(username);
admin.setPassword(password);
if(loginService.findAdminById(admin)!=null) {
ModelAndView mav = new ModelAndView(“/admin/index”);
return mav;
}else {
ModelAndView mav = new ModelAndView(“error”);
return mav;
}
}
独家面经总结,超级精彩
本人面试腾讯,阿里,百度等企业总结下来的面试经历,都是真实的,分享给大家!
[外链图片转存中…(img-nIxK6jRA-1713476391108)]
[外链图片转存中…(img-nSVBmQBH-1713476391108)]
[外链图片转存中…(img-Ku2Cd1Yg-1713476391109)]
[外链图片转存中…(img-qlsZqH7D-1713476391109)]
Java面试准备
准确的说这里又分为两部分:
- Java刷题
- 算法刷题
Java刷题:此份文档详细记录了千道面试题与详解;
[外链图片转存中…(img-K3lV2He1-1713476391109)]
[外链图片转存中…(img-dNoqdXcI-1713476391110)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-hanDzw3k-1713476391110)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!