2013-03-06 68 views
0

我遇到一些麻烦支柱和插入一条记录到我的数据库MyBatis的映射数据库和对象一起

数据库是这样

这里有地图:

<mapper namespace="Employees"> 
<resultMap id="employeeMap" type="employee"> 
    <id column="employeeID" property="employeeID" /> 
    <result column="employeeNum" property="employeeNum" /> 
    <result column="username" property="userName" /> 
    <result column="firstName" property="firstName" /> 
    <result column="lastName" property="lastName" /> 


    <association property="address" column="addressID" resultMap="addressMap" /> 
</resultMap> 

<resultMap id="addressMap" type="address"> 
    <id column="addressID" property="id" /> 
    <result column="addressLine1" property="addressLine1" /> 
    <result column="addressLine2" property="addressLine2" /> 
    <result column="city" property="city" /> 
    <result column="postcode" property="postcode" /> 
    <result column="country" property="country" /> 
</resultMap> 

这是员工对象:

public class Employee{ 

private static final long serialVersionUID = 1L; 

private int employeeID; 
private String employeeNum; 
private String firstName; 
private String lastName; 

我的表格应该怎样看待stor荷兰国际集团上述的关系?

在分钟雇员表的样子: 雇员 employeeNum 的firstName lastName的 addressID

而且我不断收到像“addressID没有默认值” 一个错误就是一切奠定了它应该是或我缺少什么东西?..

回答

1

您正在尝试插入员工,但您缺少addressID并且需要此属性才能插入它。我猜,因为你是我们展示的映射,而不是插入查询。

当您在数据库中的表,你可以选择“默认值”一列。当您插入一个寄存器而错过一列,用它的默认值。你错过addressID并没有它的默认值都不是,所以你得到一个错误。

因此,为您的Employee创建一个address属性,并在插入查询中使用它的id