在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。
这些方法可以根据具体的需求选择使用。