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) )
-
实体类