有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java以“类型安全”的方式做某事意味着什么?

可以使用<update>在映射器XML文件中配置UPDATE语句 内容如下:

<update id="updateStudent" parameterType="Student">
UPDATE STUDENTS SET NAME=#{name}, EMAIL=#{email}, PHONE=#{phone}
WHERE STUD_ID=#{studId}
</update>

我们可以如下调用此语句:

int noOfRowsUpdated =
sqlSession.update("com.mybatis3.mappers.StudentMapper.updateStudent", 
student);

您不需要使用名称空间和语句id调用映射语句,而是 可以创建映射器接口并以“类型安全”的方式调用该方法,如下所示:

package com.mybatis3.mappers;
public interface StudentMapper
{
int updateStudent(Student student);
}

您可以使用Mapper接口调用updateStudentstatement,如下所示:

StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);
int noOfRowsUpdated = mapper.updateStudent(student);

我的问题是:为什么第二种方式是“类型安全的”?这里的“类型安全”是什么意思


共 (1) 个答案

  1. # 1 楼答案

    它是type-safe,因为type-mismatch错误将在编译时而不是运行时检测到

    在第一个示例中,您可以将任何不属于Student类型的Object传递给update方法,它将编译良好,但在运行时将失败

    在第二个示例中,您必须传递一个有效的Student对象,否则代码将无法编译,因此它被视为type-safe