我在struts上遇到麻烦并在我的数据库中插入记录
数据库就像这样
以下是地图:
<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>
这是Employee对象:
public class Employee{
private static final long serialVersionUID = 1L;
private int employeeID;
private String employeeNum;
private String firstName;
private String lastName;
关于存储上述关系,我的表格应如何看待?
Employees表格如下: 员工ID employeeNum 名字 姓 addressID
我一直收到类似“addressID没有默认值”的错误 一切都按照应有的方式布局,还是我错过了什么?...
答案 0 :(得分:1)
您正在尝试插入员工,但您遗漏了addressID
,并且需要此属性才能插入。我想是的,因为你向我们展示了映射,而不是插入查询。
在数据库中创建表时,可以为列选择“默认值”。插入寄存器并错过列时,将使用其默认值。你错过addressID
并且它没有默认值,所以你得到一个错误。
因此,为address
创建Employee
属性,并在插入查询中使用其id
。