一、对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类,其中还有一个映射文件。给定一个较复杂的实体关系(如一对一,一对多,多对多),应该熟练地写出实体类