在Java开发过程中有很多情况是二个表及以上的联合操作,这是需要分清楚表的主次关系。在引用的时候有人会把二个表的数据全都封装在一个实体类中,然后在对这个实体类进行操作,但如果是三个表呢?四个表呢?还都封装在一个实体类吗?这样被封装的实体类的数据是不是太多了呢?而且也会照成层次不分,大大的抬高了代码的耦合性。和实体类泛滥的情况。下面开始介绍该如何正确的封装实体类
第一个实体类
public class UsersLogin {
private Integer usersId;
private String usersName;
private String pass;
private int flag;
//省略Getter和Setter
}
第二个实体类
public class Shoopping {
private Integer shoopId;
private String goodsName;
private Double price;
private String address;
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date produceDate;
private String picture;
private String categoryName;
private int num;
private int flag;
//引用第一个表的实体对象
private UsersLogin usersLogin;
//省略Getter和Setter
}
使用
<insert id="insertShoopping" parameterType="com.aaa.entity.Shoopping">
insert into shoopping(goodsName,price,address,produceDate,picture,categoryName,num,flag,usersId)
values(#{goodsName},#{price},#{address},#{produceDate},#{picture},#{categoryName},
#{num},#{flag},#{usersLogin.usersId})
</insert>
使用的时候不管是html页面还是myBatisd的xml文件中都可以通过usersLogin.usersId的这种形式来使用。