在MyBatis中,可以使用ResultMap來映射查詢結果到Java對象。下面是一個示例:
首先,在Mapper XML文件中定義一個ResultMap,指定查詢結果列與Java對象屬性的對應關系。例如:
<!-- 定義ResultMap -->
<resultMap id="UserResultMap" type="com.example.User">
<id property="id" column="id"/>
<result property="username" column="username"/>
<result property="password" column="password"/>
<result property="email" column="email"/>
</resultMap>
然后在Mapper接口中定義一個查詢方法,指定使用該ResultMap。例如:
public interface UserMapper {
// 使用ResultMap查詢單個用戶
@Select("SELECT id, username, password, email FROM users WHERE id = #{id}")
@ResultMap("UserResultMap")
User getUserById(int id);
}
最后,在使用Mapper接口的地方調用查詢方法,將結果轉為Java對象。例如:
// 獲取SqlSessionFactory
SqlSessionFactory sqlSessionFactory = MyBatisUtils.getSqlSessionFactory();
// 獲取Mapper接口實例
UserMapper userMapper = sqlSessionFactory.openSession().getMapper(UserMapper.class);
// 調用查詢方法
User user = userMapper.getUserById(1);
// 打印查詢結果
System.out.println(user.getId() + ", " + user.getUsername() + ", " + user.getPassword() + ", " + user.getEmail());
以上代碼會將查詢結果轉為User對象,并打印出對象的屬性值。注意,User類需要有對應的屬性和get/set方法。
通過使用ResultMap,MyBatis可以將查詢結果自動轉為Java對象,簡化了開發過程。