Entity实体设计

Entity实体设计

💡用来和数据库中的表对应,解决的是数据格式在Java和数据库间的转换。

(一)设计思想

数据库 Java
对象
字段(列) 属性

(二)实体Entity编程

编码规范

💡Java中将所有数据库的数据,使用Java对象进行表示。

  • ① 通常一张表对应一个实体,命名规范:表名t_person,实体类名Person

  • ② 实体类必须实现Serializable

  • ③ 表中的一个字段,对应实体的一个属性。实体属性必须使用包装类型。封装并提供set和get方法。

  • ④ 必须手动提供无参构造方法(必须),如果需要也可以提供有参构造方法(非必要)

  • ⑤ 代码要放在entity包下

示例1:

  • MySQL库表

    create table t_person(
    person_id int primary key auto_increment,
    person_name varchar(20) not null,
    age tinyint,
    sex varchar(6),
    mobile varchar(20),
    address varchar(50)
    );

  • 实体类

    package com.xx.entity;
    //1. 实体类,实现序列化
    public class Person implements Serializable{
    // 2. 属性
    private Integer personId;
    private String personName;
    private Integer age;
    private String sex;
    private String mobile;
    private String address;
    // 3. 无参构造方法+有参构造方法(可选)
    public Person(){}
    // 4. get和set方法
    public Integer getPersonId(){return personId;}
    public void setPersonId(Integer personId){this.personId = personId;}
    public String getPersonName(){return personName;}
    public void setPersonName(String personName){this.personName = personName;}
    public Integer getAge(){return age;}
    public void setAge(Integer age){this.age = age;}
    public String getSex(){return sex;}
    public void setSex(String sex){this.sex = sex;}
    public String getMobile(){return mobile;}
    public void setMobile(String mobile){this.mobile = mobile;}
    public String getAddress(){return address;}
    public void setAddress(String address){this.address = address;}
    }

补充:

事实上JdbcTemplate的RowMapper的结果集映射对象,就是ORM思想的应用。

示例2:

  • MySQL库表

    复制代码
    create table t_account(
        account_id int primary key auto_increment,
        account_name varchar(20) not null unique,
        account_password varchar(20) not null,
        balance decimal(10,1)
    )
  • 实体类

    复制代码
相关推荐
jiayou6413 小时前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
李广坤1 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区2 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1773 天前
《从零搭建NestJS项目》
数据库·typescript
加号33 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏3 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐3 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再3 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
tryCbest3 天前
数据库SQL学习
数据库·sql
jnrjian3 天前
ORA-01017 查找机器名 用户名 以及library cache lock 参数含义
数据库·oracle