文章目錄
- 前言
- 詳細視頻演示
- 具體實現截圖
- 后端框架SpringBoot
- 持久層框架Hibernate
- 成功系統案例:
- 代碼參考
- 數據庫
- 源碼獲取
前言
博主介紹:CSDN特邀作者、985高校計算機專業畢業、現任某互聯網大廠高級全棧開發工程師、Gitee/掘金/華為云/阿里云/GitHub等平臺持續輸出高質量技術內容、深耕Java、小程序、前端、python等技術領域和畢業項目實戰,以及程序定制化開發、全棧講解。
💯文末獲取源碼+數據庫💯
感興趣的可以先收藏起來,還有大家在畢設選題,項目以及論文編寫等相關問題都可以找我咨詢,希望幫助更多的人。
詳細視頻演示
視頻演示
具體實現截圖
后端框架SpringBoot
Spring Boot允許開發者快速構建出既可以獨立運行又滿足生產級別標準的Spring基礎應用程序。此框架通過提供一系列便捷的工具和服務,極大地促進了基于Spring的應用開發工作的效率和質量。通過提供一系列大型項目中常用的默認配置,Spring Boot最大化減少配置文件的使用,開發者能夠迅速啟動和運行Spring應用程序。
Spring Boot通過約定優于配置的原則,避免了許多傳統Spring應用開發時繁瑣的配置,該框架支持對內嵌服務器的自動配置,如Tomcat、Jetty或Undertow,從而簡化了Web應用的部署過程。
持久層框架Hibernate
Hibernate 是一個開源的、輕量級的 對象關系映射(ORM)框架,用于將 Java 對象映射到關系型數據庫中的表,從而簡化數據庫操作。它是 Java 生態中最流行的 ORM 解決方案之一。
Hibernate的優勢主要包括以下幾點:
1、ORM(對象關系映射)通過注解或 XML 配置,將 Java 類(POJO)映射到數據庫表,屬性映射到列,支持繼承、關聯(一對一、一對多、多對多)等復雜關系。
2、JPA 規范實現 Hibernate 是 JPA(Java Persistence API)的默認實現之一,允許開發者使用標準 JPA 注解(如 @Entity, @Table, @Id)進行開發。
3、自動建表與更新 通過配置 hibernate.hbm2ddl.auto(如 update, create-drop),可自動生成或更新數據庫表結構。
4、HQL(Hibernate Query Language)面向對象的查詢語言,類似 SQL 但操作的是 Java 對象而非表。例如:
Query query = session.createQuery("FROM User WHERE age > :minAge");
query.setParameter("minAge", 18);
5、緩存機制
一級緩存(Session 級):默認開啟,減少重復查詢。
二級緩存(SessionFactory 級):需配置(如 Ehcache、Redis),跨 Session 共享數據
6、延遲加載(Lazy Loading)支持關聯對象的延遲加載(如 @OneToMany(fetch = FetchType.LAZY)),提升性能。
7、事務管理 支持 JDBC 事務和 JTA(Java Transaction API),可通過聲明式事務(Spring 集成)管理。
所有項目均為博主親自收集、開發并嚴格測試,確保源碼完整、可運行,無缺失依賴或兼容性問題!同學們拿到后就能使用!博主具備多年高級開發經驗,能深入講解代碼架構、核心邏輯及技術難點,助你高效掌握項目精髓。
成功系統案例:
代碼參考
package cn.boot.action;import java.util.LinkedList;
import java.util.List;import cn.boot.entity.City;
import cn.boot.entity.main.SimpleUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;import cn.boot.common.BaseAction;
import cn.boot.entity.Flight;
import cn.boot.entity.FlightSite;
import cn.boot.service.BizService;
import org.springframework.web.bind.annotation.ResponseBody;
import util.Constant;
import util.FieldUtil;
import util.MessageUtil;
import util.Page;@Controller
@RequestMapping("/sys")
public class FlightSiteAction extends BaseAction {private String actionname = "機票";private String actionclass = "FlightSite";@Autowiredprivate BizService service;@RequestMapping(value = "/add2FlightSite.do")public String add2(int uid) {putRequestValue("flight", service.get(Flight.class, uid));List queryByHQL = service.queryByHQL("from FlightSite where flight.id=? order by price", uid);putRequestValue("slist", queryByHQL);request.setAttribute("actionname", actionname);request.setAttribute("actionclass", actionclass);return "addFlightSite";}@RequestMapping(value = "/getFlightSite.do")public String get(int uid) {try {FlightSite temp = service.get(FlightSite.class, uid);request.setAttribute("modifybean", temp);request.setAttribute("actionname", actionname);request.setAttribute("actionclass", actionclass);return "modifyFlightSite";} catch (Exception e) {e.printStackTrace();MessageUtil.addMessage(request, "獲取信息失敗.");return ERROR;}}@RequestMapping(value = "/addFlightSite.do")public String add(FlightSite bean) {try {service.add(bean);MessageUtil.addMessage(request, "添加成功.");return SUCCESS;} catch (Exception e) {e.printStackTrace();MessageUtil.addMessage(request, "添加失敗.");return ERROR;}}@RequestMapping(value = "/updateFlightSite.do")public String update(FlightSite bean) {try {service.update(bean);MessageUtil.addMessage(request, "更新成功.");return SUCCESS;} catch (Exception e) {e.printStackTrace();MessageUtil.addMessage(request, "更新失敗.");return ERROR;}}@RequestMapping(value = "/deleteFlightSite.do")public String delete(String ids) {try {service.delete(FlightSite.class, ids);MessageUtil.addRelMessage(request, "操作成功.", "mainquery");return SUCCESS;} catch (Exception e) {e.printStackTrace();MessageUtil.addMessage(request, "操作失敗.");return ERROR;}}@RequestMapping(value = "/queryFlightSite.do")public String query() {try {// 字段名稱集合LinkedList<String> parmnames = new LinkedList<String>();// 字段值集合LinkedList<Object> parmvalues = new LinkedList<Object>();Page p = FieldUtil.createPage(request, FlightSite.class, parmnames, parmvalues);// if (parmnames.contains("type")) {// actionname1 = (String) parmvalues.get(parmnames.indexOf("type"));// }Page page = service.find(p, FlightSite.class);session.setAttribute(Constant.SESSION_PAGE, page);request.setAttribute("actionname", actionname);request.setAttribute("actionclass", actionclass);return "listFlightSite";} catch (Exception e) {e.printStackTrace();return ERROR;}}}
數據庫
DROP TABLE IF EXISTS `t_admin`;
CREATE TABLE `t_admin` (`id` int(0) NOT NULL AUTO_INCREMENT,`photo` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,`userID` int(0) NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE,INDEX `FKri7quj2chn4dhn1q1lpi6xcan`(`userID`) USING BTREE,CONSTRAINT `FKri7quj2chn4dhn1q1lpi6xcan` FOREIGN KEY (`userID`) REFERENCES `t_userinfo` (`userID`) ON DELETE CASCADE ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Compact;-- ----------------------------
-- Records of t_admin
-- ----------------------------
INSERT INTO `t_admin` VALUES (1, '1610673936360.jpg', 1);-- ----------------------------
-- Table structure for t_airport
-- ----------------------------
DROP TABLE IF EXISTS `t_airport`;
CREATE TABLE `t_airport` (`id` int(0) NOT NULL AUTO_INCREMENT,`name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,`cityId` int(0) NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE,INDEX `FK8x31qty00wy44cxat4p44avnk`(`cityId`) USING BTREE,CONSTRAINT `FK8x31qty00wy44cxat4p44avnk` FOREIGN KEY (`cityId`) REFERENCES `t_city` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Compact;-- ----------------------------
-- Records of t_airport
-- ----------------------------
INSERT INTO `t_airport` VALUES (1, '鳳凰機場', 6);
INSERT INTO `t_airport` VALUES (2, '浦東機場', 2);
INSERT INTO `t_airport` VALUES (3, '虹橋機場', 2);
INSERT INTO `t_airport` VALUES (4, '地窩堡機場', 5);
INSERT INTO `t_airport` VALUES (5, '首都機場', 1);
INSERT INTO `t_airport` VALUES (6, '大興機場', 1);
INSERT INTO `t_airport` VALUES (7, '白云機場', 3);
INSERT INTO `t_airport` VALUES (8, '江北機場', 4);-- ----------------------------
-- Table structure for t_city
-- ----------------------------
DROP TABLE IF EXISTS `t_city`;
CREATE TABLE `t_city` (`id` int(0) NOT NULL AUTO_INCREMENT,`name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `UK_tbtlil0b6cuheenrp1rckauqp`(`name`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Compact;-- ----------------------------
-- Records of t_city
-- ----------------------------
INSERT INTO `t_city` VALUES (6, '三亞');
INSERT INTO `t_city` VALUES (2, '上海');
INSERT INTO `t_city` VALUES (5, '烏魯木齊');
INSERT INTO `t_city` VALUES (1, '北京');
INSERT INTO `t_city` VALUES (3, '廣州');
INSERT INTO `t_city` VALUES (4, '重慶');-- ----------------------------
-- Table structure for t_company
-- ----------------------------
DROP TABLE IF EXISTS `t_company`;
CREATE TABLE `t_company` (`id` int(0) NOT NULL AUTO_INCREMENT,`cldate` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,`dizhi` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,`ename` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,`fanwei` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,`fullname` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,`imgFile` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,`leixing` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,`name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `UK_larsywqneqn4jkbiow3rplpdf`(`name`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Compact;-- ----------------------------
-- Records of t_company
-- ----------------------------
INSERT INTO `t_company` VALUES (1, '1991-01-15', '廣東省廣州市白云機場', 'China Southern Airlines Company Limited ', '航空運輸 航空 ', '中國南方航空集團有限公司 ', '1610668455519.jpeg', '國有企業', '南方航空');
INSERT INTO `t_company` VALUES (2, '1990-01-15', '-', 'China Northern Airlines ', '-', '中國北方航空公司', '1610668520210.jpg', '-', '北方航空');
INSERT INTO `t_company` VALUES (3, '1988-01-15', '上海市虹橋路2550號', 'China Eastern Airlines Corporation Limited ', '航空飛行 ', '中國東方航空集團有限公司 ', '1610668587059.jpg', '中央企業 ', '東方航空');
INSERT INTO `t_company` VALUES (4, '2006-12-15', '中國重慶市', 'West Air Co. Ltd. ', '國內航空客貨運輸', '西部航空有限責任公司 ', '1610668655626.jpg', '民營航空公司', '西部航空');-- ----------------------------
-- Table structure for t_flight
-- ----------------------------
DROP TABLE IF EXISTS `t_flight`;
CREATE TABLE `t_flight` (`id` int(0) NOT NULL AUTO_INCREMENT,`endTime` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,`shijian` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,`sid` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,`startTime` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,`statussel` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,`companyId` int(0) NULL DEFAULT NULL,`endAirportId` int(0) NULL DEFAULT NULL,`startAirportId` int(0) NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE,UNIQUE INDEX `UK_94s0ctwph0d4a9g50w2rh0op2`(`sid`) USING BTREE,INDEX `FKj3rxeukfswd404g5mbt5hswaf`(`companyId`) USING BTREE,INDEX `FKagn4dvgndvwdcpxn5mnct54hn`(`endAirportId`) USING BTREE,INDEX `FKhdryaesr75svdgh0h4qbj08xm`(`startAirportId`) USING BTREE,CONSTRAINT `FKagn4dvgndvwdcpxn5mnct54hn` FOREIGN KEY (`endAirportId`) REFERENCES `t_airport` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT,CONSTRAINT `FKhdryaesr75svdgh0h4qbj08xm` FOREIGN KEY (`startAirportId`) REFERENCES `t_airport` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT,CONSTRAINT `FKj3rxeukfswd404g5mbt5hswaf` FOREIGN KEY (`companyId`) REFERENCES `t_company` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Compact;-- ----------------------------
-- Records of t_flight
-- ----------------------------
INSERT INTO `t_flight` VALUES (1, '22:34', '2時19分', 'MU5130', '23:15', '啟用', 3, 2, 5);
INSERT INTO `t_flight` VALUES (2, '22:57', '2時55分', 'CZ8982', '23:02', '啟用', 1, 3, 5);
INSERT INTO `t_flight` VALUES (3, '18:35', '4時50分', 'MU5696', '13:45', '啟用', 3, 6, 2);
INSERT INTO `t_flight` VALUES (4, '18:35', '3時5分', 'MU6685', '15:30', '啟用', 3, 8, 6);
INSERT INTO `t_flight` VALUES (5, '19:01', '3時1分', 'JU3453', '16:00', '啟用', 3, 8, 2);-- ----------------------------
-- Table structure for t_flight_site
-- ----------------------------
DROP TABLE IF EXISTS `t_flight_site`;
CREATE TABLE `t_flight_site` (`id` int(0) NOT NULL AUTO_INCREMENT,`discount` double NULL DEFAULT NULL,`name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,`price` double NULL DEFAULT NULL,`sites` int(0) NULL DEFAULT NULL,`flightId` int(0) NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE,INDEX `FKioc3gtpc8qrc1mnj4i0u3o6d2`(`flightId`) USING BTREE,CONSTRAINT `FKioc3gtpc8qrc1mnj4i0u3o6d2` FOREIGN KEY (`flightId`) REFERENCES `t_flight` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Compact;-- ----------------------------
-- Records of t_flight_site
-- ----------------------------
INSERT INTO `t_flight_site` VALUES (1, 0.9, '經濟艙', 300, 50, 4);
INSERT INTO `t_flight_site` VALUES (2, 0.9, '貴賓艙', 2000, 10, 4);
INSERT INTO `t_flight_site` VALUES (3, 0.8, '經濟艙', 300, 300, 3);
INSERT INTO `t_flight_site` VALUES (4, 0.5, '經濟艙', 600, 300, 2);
INSERT INTO `t_flight_site` VALUES (5, 0.5, '經濟艙', 600, 350, 1);
INSERT INTO `t_flight_site` VALUES (6, 0.6, '普通艙', 300, 99, 5);
INSERT INTO `t_flight_site` VALUES (7, 0.6, '經濟艙', 400, 100, 5);
INSERT INTO `t_flight_site` VALUES (8, 0.6, '貴賓艙', 1000, 50, 5);
源碼獲取
如需交流/獲取資料,請先【關注+私信】我,私信獲取源碼~