news 2026/2/26 17:09:31

【JavaWeb】日程管理03——准备数据库和实体类

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【JavaWeb】日程管理03——准备数据库和实体类

目录

  • 准备数据库
  • 准备实体类
    • lombok使用步骤
      • 1 检查idea是否已经安装了lombok插件
      • 2 检查是否勾选了 enable annotation processing
      • 3 导入lombok的依赖
      • 4 在实体类上添加注解

准备数据库

创建数据库

新建查询

SET NAMES utf8;SET FOREIGN_KEY_CHECKS=0;DROP TABLE IF EXISTS `sys_schedule`;CREATE TABLE `sys_schedule`(`sid` int NOT NULL AUTO_INCREMENT,`uid` int NULL DEFAULT NULL,`title`varchar(20),`completed`int(1)NULL DEFAULT NULL,PRIMARY KEY(`sid`)USING BTREE)ENGINE=InnoDB AUTO_INCREMENT=1;DROP TABLE IF EXISTS `sys_user`;CREATE TABLE `sys_user`(`uid` int NOT NULL AUTO_INCREMENT,`username`varchar(10),`user_pwd`varchar(100),PRIMARY KEY(`uid`)USING BTREE,UNIQUE INDEX `username`(`username`)USING BTREE)ENGINE=InnoDB;INSERT INTO `sys_user` VALUES(1,'zhangsan','e10adc3949ba59abbe56e057f20f883e');INSERT INTO `sys_user` VALUES(2,'lisi','e10adc3949ba59abbe56e057f20f883e');SET FOREIGN_KEY_CHECKS=1;

准备实体类

创建模块

添加tomcat依赖

增加web资源组件

创建实体类

起类名的时候注意一下驼峰转换
对于数据库中表名用下划线分隔,Java中会转成驼峰式,比如这里数据库中表名为sys_user,转换成SysUser

和数据库对应的实体类一般有如下要求

  1. 实体类的类名和表格名称应该对应(对应不是一致)
  2. 实体类的属性名和表格的列名应该对应
  3. 每个属性都必须是私有的
  4. 每个属性都应该具备getter setter
  5. 必须具备无参构造器
    不写默认会有,但是如果写了其他有参构造器,无参构造器就没了,所以无参需要写出
  6. 应该实现序列化接口(缓存 分布式项目数据传递 可能会将对象序列化)
  7. 应该重写类的hashcode和equals方法
  8. toString是否重写都可以

一路Next

完整代码

package com.baidu.scheduler.pojo;import java.util.Objects;public classSysUserimplementsSerializable{private Integer uid;private String username;private String userPwd;publicSysUser(Integer uid,String username,String userPwd){this.uid=uid;this.username=username;this.userPwd=userPwd;}publicSysUser(){}public IntegergetUid(){returnuid;}public voidsetUid(Integer uid){this.uid=uid;}public StringgetUsername(){returnusername;}public voidsetUsername(String username){this.username=username;}public StringgetUserPwd(){returnuserPwd;}public voidsetUserPwd(String userPwd){this.userPwd=userPwd;}public booleanequals(Object o){if(this==o)returntrue;if(o==null||getClass()!=o.getClass())returnfalse;SysUser sysUser=(SysUser)o;returnObjects.equals(uid,sysUser.uid)&&Objects.equals(username,sysUser.username)&&Objects.equals(userPwd,sysUser.userPwd);}public inthashCode(){returnObjects.hash(uid,username,userPwd);}public StringtoString(){return"SysUser{"+"uid="+uid+", username='"+username+'\''+", userPwd='"+userPwd+'\''+'}';}}

使用lombok帮助我们生成这些内容(getter setter 全参构造 无参构造 equals hashcode)

lombok使用步骤

1 检查idea是否已经安装了lombok插件

2 检查是否勾选了 enable annotation processing

注意:这个勾选未必是永久有效的,使用前记得检查

3 导入lombok的依赖

4 在实体类上添加注解

添加AllArgsConstructor之后相当于添加了全参构造

@NoArgsConstructor//添加了无参构造@Getter @Setter @ToString @EqualsAndHashCode @Data 等同于下面四个的合并 @Getter @Setter @ToString @EqualsAndHashCode

创建另一个实体类

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/22 4:40:09

深蓝词库转换:输入法数据互通的终极解决方案

深蓝词库转换:输入法数据互通的终极解决方案 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 在数字化时代,输入效率直接影响着我们的工作节奏…

作者头像 李华
网站建设 2026/2/23 15:22:21

终极多平台推流方案:3步搞定全平台直播覆盖

终极多平台推流方案:3步搞定全平台直播覆盖 【免费下载链接】obs-multi-rtmp OBS複数サイト同時配信プラグイン 项目地址: https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp 还在为每次直播只能选择一个平台而烦恼吗?想要同时覆盖抖音、B站、Yo…

作者头像 李华
网站建设 2026/2/19 15:23:57

帝国竞争算法(ICA)详解:从原理到应用

文章目录 文章概述 帝国竞争算法(ICA)详解:从原理到应用 1 帝国竞争算法简介 1.1 生物与社会学背景 1.2 基本思想与核心概念 1.3 算法优缺点分析 1.4 算法流程概览 2 ICA算法原理详解 2.1 国家初始化与帝国建立 2.2 同化机制:殖民地向帝国移动 2.3 革命操作:随机改变殖民地…

作者头像 李华
网站建设 2026/2/20 21:40:27

快速了解agent

第一部分:快速理解 AgentAgent 会“自己想 → 自己干 → 自己检查”的 AI 助手不只是回答你一句话,而是能连续做事。普通大模型:你问一句 → 它答一句到此结束。Agent:你给一个目标 → 它会:1)拆任务2&…

作者头像 李华
网站建设 2026/2/21 0:24:23

蜣螂优化算法(DBO)详解:从原理到实战

文章目录 蜣螂优化算法(DBO)详解:从原理到实战 1 算法概述与生物基础 1.1 生物行为基础 1.2 算法基本思想 2 数学模型与算法原理 2.1 滚球蜣螂的数学模型 2.2 跳舞行为数学模型 2.3 繁殖行为数学模型 2.4 觅食行为数学模型 2.5 偷窃行为数学模型 3 算法流程与实现 3.1 整体算…

作者头像 李华
网站建设 2026/2/7 5:07:06

43、Solaris文件系统缓存深度解析

Solaris文件系统缓存深度解析 1. 文件缓存简介 文件系统的一项关键特性是其缓存文件数据的能力。在传统Unix系统中,文件系统缓存是在I/O子系统中实现的,通过块缓存来保存最近读写的块副本。这个块缓存位于磁盘之上,用于缓存与物理磁盘扇区相对应的数据。 当一个进程读取文…

作者头像 李华