mybatis逻辑:dao层现在只用写接口,其上加入@Mapper注解,spring会自动生成实现类并去对应resource文件夹中寻找对应mapper的xml的SQL文件,得到数据。并返回给调用dao层接口的方法。
pr:mapper的xml文件中的namespace必须是mapper接口的全路径。
pr:具体SQL返回的结果用resultType接,这个type指的是返回接口的返回值类型。把mapper.xml文件和mapper接口文件的数据对应起来看。
<mapper namespace="com.msb.mapper.UserMapper">
<select id="findAll" resultType="User">
select userId,name,personId from user
</select>
</mapper>
@Mapper
public interface UserMapper {
List<User> findAll();
}
如上,resultType对应接口方法中List的User。
pr:resultType中只写User这个实体类,Mapper是找不到的。还需要再yml文件中配置type-aliases-package。
mybatis:
mapper-locations: classpath:mybatis/*.xml
type-aliases-package: com.msb.pojo