我有Ciudad课和Departamento课这样: 公共阶层Ciudad {
private Long id;
private String descripcion;
private String abreviatura;
private Departamento departamento;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getDescripcion() {
return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public String getAbrev() {
return abreviatura;
}
public void setAbrev(String abrev) {
this.abreviatura = abrev;
}
public boolean equals(Object other) {
return (other != null && getClass() == other.getClass() && id != null)
? id.equals(((Ciudad) other).id)
: (other == this);
}
public int hashCode() {
return (id != null)
? (getClass().hashCode() + id.hashCode())
: super.hashCode();
}
public Departamento getDepartamento() {
return departamento;
}
public void setDepartamento(Departamento departamento) {
this.departamento = departamento;
}
}
班级离开: 公共课Departamento {private Long id;
private String descripcion;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getDescripcion() {
return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
...和我的ciudad mapper:
<mapper namespace="spring.security.dao.CiudadDAO">
<resultMap id="CiudadResultMap" type="CiudadDTO">
<id property="id" column="id" />
<result property="descripcion" column="descripcion" />
<result property="abreviatura" column="abreviatura" />
<association property="departamento" column="idDepartamento" javaType="DepartamentoDTO" >
<id property="id" column="idDepartamento" />
<result property="descripcion" column="descDepartamento" />
</association>
</resultMap>
<sql id="selectCiudad">
<![CDATA[
SELECT
c.id as id,
d.descripcion as descDepartamento,
c.descripcion as descripcion,
c.abreviatura as abreviatura
FROM
ciudad c INNER JOIN departamento D ON c.id_departamento =D.id
]]>
</sql>
<select id="getAllCiudades" resultMap="CiudadResultMap">
<include refid="selectCiudad" />
ORDER BY id ASC
</select>
<select id="getCiudadById" resultMap="CiudadResultMap" parameterType="Long">
<include refid="selectCiudad" />
WHERE id= #{value}
</select>
<insert id="saveCiudad" parameterType="CiudadDTO" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
INSERT INTO ciudad(
descripcion, abreviatura, id_departamento
)
VALUES (
#{descripcion}, #{abrev},#{departamento}
)
</insert>
<update id="updateCiudad" parameterType="CiudadDTO">
UPDATE ciudad
SET
descripcion= #{descripcion},
abreviatura= #{abrev}
WHERE id = #{id}
</update>
<delete id="deleteCiudad" parameterType="java.lang.Long">
delete from ciudad where id = #{id}
</delete>
显然,你有一个DAO接口和服务,当我尝试使用4Junit测试执行时,这是一个例外:
引起:java.lang.IllegalStateException:对于属性'departamento'的参数映射,类型处理程序为null。未指定和/或找不到指定的javaType / jdbcType组合。
有人可以告诉我如何解决吗?