在MyBatis中,查詢兩個字段的方法有以下幾種:
使用ResultMap映射查詢結果: 在mapper.xml文件中定義一個ResultMap,指定查詢結果的映射關系,并在SQL語句中使用SELECT子句指定需要查詢的字段。例如:
<resultMap id="userResultMap" type="User">
<id property="id" column="user_id"/>
<result property="username" column="user_name"/>
</resultMap>
<select id="getUser" resultMap="userResultMap">
SELECT user_id, user_name FROM user_table WHERE user_id = #{userId}
</select>
在Java代碼中調用該查詢方法:
User user = sqlSession.selectOne("getUser", 1);
這樣可以將查詢結果映射到User對象的id和username屬性上。
使用@Results注解映射查詢結果: 在Java接口的方法上使用@Results注解,指定查詢結果的映射關系,并在@Select注解中使用SELECT子句指定需要查詢的字段。例如:
@Results({
@Result(property = "id", column = "user_id"),
@Result(property = "username", column = "user_name")
})
@Select("SELECT user_id, user_name FROM user_table WHERE user_id = #{userId}")
User getUser(int userId);
在Java代碼中調用該查詢方法:
User user = mapper.getUser(1);
使用Map作為查詢結果: 在mapper.xml文件中使用SELECT子句查詢需要的字段,并將其以Map的形式返回。例如:
<select id="getUser" resultType="java.util.Map">
SELECT user_id, user_name FROM user_table WHERE user_id = #{userId}
</select>
在Java代碼中調用該查詢方法:
Map<String, Object> user = sqlSession.selectOne("getUser", 1);
這樣可以將查詢結果的字段作為Map的key,值作為Map的value。
這些方法可以根據具體的需求選擇使用。