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

目录

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

准备数据库

创建数据库

新建查询

clike 复制代码
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

完整代码

clike 复制代码
package com.baidu.scheduler.pojo;

import java.util.Objects;

public class SysUser implements Serializable  {
    private Integer uid;
    private String username;
    private String userPwd;



    public SysUser(Integer uid, String username, String userPwd) {
        this.uid = uid;
        this.username = username;
        this.userPwd = userPwd;
    }

    public SysUser() {
    }

    public Integer getUid() {
        return uid;
    }

    public void setUid(Integer uid) {
        this.uid = uid;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getUserPwd() {
        return userPwd;
    }

    public void setUserPwd(String userPwd) {
        this.userPwd = userPwd;
    }

    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        SysUser sysUser = (SysUser) o;
        return Objects.equals(uid, sysUser.uid) && Objects.equals(username, sysUser.username) && Objects.equals(userPwd, sysUser.userPwd);
    }

    public int hashCode() {
        return Objects.hash(uid, username, userPwd);
    }

    public String toString() {
        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之后相当于添加了全参构造

clike 复制代码
@NoArgsConstructor    //添加了无参构造
@Getter
@Setter
@ToString
@EqualsAndHashCode

@Data  等同于下面四个的合并
@Getter
@Setter
@ToString
@EqualsAndHashCode

创建另一个实体类

相关推荐
大学生资源网2 小时前
java毕业设计之面向校园的助力跑腿系统设计与实现源码(源码+文档+数据库)
java·数据库·mysql·毕业设计·源码·springboot
听到微笑2 小时前
初探Nebula Graph核心架构设计
数据库·图数据库·nebula graph
他是龙5513 小时前
43:SQL注入进阶(请求类型、方法与格式实战)
数据库·sql
木卫二号Coding3 小时前
affine+docker+postgresql+备份数据库
数据库·docker·容器
云和数据.ChenGuang3 小时前
openEuler系统下安装MongoDB的技术教程
运维·数据库·mongodb·压力测试·运维工程师·运维技术
SelectDB3 小时前
Apache Doris AI 能力揭秘(四):HSAP 一体化混合搜索架构全解
数据库·人工智能·agent
程序人生5184 小时前
解决Dbeaver 连上 MySQL 数据库后不显示 information_schame、mysql 等数据库
数据库·mysql
与衫4 小时前
SQLFlow × 高斯数据库:构建可治理、可追溯的数据底座
数据库·oracle
小小测试开发4 小时前
SQL常用语法全解析:从入门到进阶的实战指南
数据库·sql