在MyBatis中使用構造方法時,需要通過<constructor>
元素來映射Java對象的構造方法和SQL查詢結果列。以下是一個簡單的示例:
public class User {
private int id;
private String username;
// 構造方法
public User(int id, String username) {
this.id = id;
this.username = username;
}
// getter和setter方法
// ...
}
<constructor>
元素映射構造方法和查詢結果列:<select id="getUserById" resultType="User">
SELECT id, username
FROM user
WHERE id = #{id}
</select>
<resultMap id="userResultMap" type="User">
<id column="id" property="id" />
<constructor>
<arg column="id" javaType="int" />
<arg column="username" javaType="String" />
</constructor>
</resultMap>
public interface UserMapper {
User getUserById(int id);
}
<mappers>
<mapper resource="UserMapper.xml"/>
</mappers>
通過以上步驟,就可以在MyBatis中使用構造方法來映射查詢結果列到Java對象的構造方法參數中。在查詢時,MyBatis會自動調用構造方法來創建對象并設置查詢結果列的值。