使用mybatis时遇到的问题,遇到好多次,终于解决了
原代码:
<resultMap id="getStudentAndTeacher" type="Student">
<id property="id" column="sid"/>
<result property="name" column="sname"/>
<association property="teacher" javaType="Teacher">
<result property="name" column="tname"/>
</association>
</resultMap>
正确代码:
<resultMap id="getStudentAndTeacher" type="top.jarvaniv.pojo.Student">
<id property="id" column="sid"/>
<result property="name" column="sname"/>
<association property="teacher" javaType="top.jarvaniv.pojo.Teacher">
<result property="name" column="tname"/>
</association>
</resultMap>
原因是要写全类名。
还有一解决方法,在mybatis的核心配置文件中给实体类配置别名
<typeAliases>
<package name="top.jarvaniv.pojo"/>
</typeAliases>
使用包扫描,将pojo包下的所有实体类都赋予一个首字母小写(小驼峰命名法)的别名,使用时直接调用别名即可。
使用别名后的代码:
<resultMap id="getStudentAndTeacher" type="student">
<id property="id" column="sid"/>
<result property="name" column="sname"/>
<association property="teacher" javaType="teacher">
<result property="name" column="tname"/>
</association>
</resultMap>