zoukankan      html  css  js  c++  java
  • Entily实体类

    一、对java实体类的理解

    A .就是属性类,通常定义在model层里面 

    B. 一般的实体类对应一个数据表,其中的属性对应数据表中的字段。
          好处: 

    • 对对象实体的封装,体现OO思想。
    • 属性可以对字段定义和状态进行判断和过滤
    • 把相关信息用一个实体类封装后,我们在程序中可以把实体类作为参数传递,更加方便。

    C. 说白了就是为了让程序员在对数据库操作的时候不用写SQL语句 

    D. 就是一个数据库表生成一个类
         这样做对数据库操作起来方便
         编写代码较少 提高效率 可以使程序员专注逻辑关系 

    E. 实体类就是把对某一个表的操作全写在一个类中.

    F. 在Java开发中经常要定义一些实体类,这些类的定义的好坏会直接影响,编写代码的质量和难易程度

    二、Java中entity(实体类)的写法规范

    在日常的Java项目开发中,entity(实体类)是必不可少的,它们一般都有很多的属性,并有相应的setter和getter方法。entity(实体类)的作用一般是和数据表做映射。所以快速写出规范的entity(实体类)是java开发中一项必不可少的技能。

      在项目中写实体类一般遵循下面的规范:

        1、根据你的设计,定义一组你需要的私有属性。

        2、根据这些属性,创建它们的setter和getter方法。(eclipse等集成开发软件可以自动生成。具体怎么生成?请自行百度。)

        3、提供带参数的构造器和无参数的构造器。

        4、重写父类中的eauals()方法和hashcode()方法。(如果需要涉及到两个对象之间的比较,这两个功能很重要。)

        5、实现序列化并赋予其一个版本号。

    下面是一个实体类(entity)例子:具体的细节都用注释标注了。

    复制代码
     1 class Student implements Serializable{
     2     /**
     3      * 版本号
     4      */
     5     private static final long serialVersionUID = 1L;
     6     //定义的私有属性
     7     private int id;
     8     private String name;
     9     private int age;
    10     private double score;
    11     //无参数的构造器
    12     public Student(){
    13         
    14     }
    15     //有参数的构造器
    16     public Student(int id,String name,int age, double score){
    17         this.id = id;
    18         this.name = name;
    19         this.age = age;
    20         this.score = score;
    21     }
    22     //创建的setter和getter方法
    23     public int getId() {
    24         return id;
    25     }
    26     public void setId(int id) {
    27         this.id = id;
    28     }
    29     public String getName() {
    30         return name;
    31     }
    32     public void setName(String name) {
    33         this.name = name;
    34     }
    35     public int getAge() {
    36         return age;
    37     }
    38     public void setAge(int age) {
    39         this.age = age;
    40     }
    41     public double getScore() {
    42         return score;
    43     }
    44     public void setScore(double score) {
    45         this.score = score;
    46     }
    47     //由于id对于学生这个类是唯一可以标识的,所以重写了父类中的id的hashCode()和equals()方法。
    48     @Override
    49     public int hashCode() {
    50         final int prime = 31;
    51         int result = 1;
    52         result = prime * result + id;
    53         return result;
    54     }
    55     @Override
    56     public boolean equals(Object obj) {
    57         if (this == obj)
    58             return true;
    59         if (obj == null)
    60             return false;
    61         if (getClass() != obj.getClass())
    62             return false;
    63         Student other = (Student) obj;
    64         if (id != other.id)
    65             return false;
    66         return true;
    67     }
    68     
    69 }
    复制代码

    一个学生的Java实体类就基本完成了。

    总结:实体是就是Java中的O/R Mapping映射,即数据库中的一个表映射成对应的一个Java类,其中还有一个映射文件。给定一个较复杂的实体关系(如一对一,一对多,多对多),应该熟练地写出实体类

  • 相关阅读:
    Android App 注射&&Drozer Use
    Burp Suite使用介绍总结
    php截取后台登陆密码的代码
    通用型正方教务(通杀各版本)存在注入(不需登陆)+获得webshell+提权内网漫游
    密码重置漏洞案例
    新闻发布系统<分页>
    通过端口 8080 连接到主机 localhost 的 TCP/IP 连接失败
    九大内置对象
    jsp前3章试题分析
    富文本编辑器
  • 原文地址:https://www.cnblogs.com/vision-xixi/p/11066820.html
Copyright © 2011-2022 走看看