1、执行SQL时传递多参数
如果 parameterType 使用 map 类型,即 parameterType="map",那么可以使用注解(@Param)方式传递参数,而最好不要直接传递 Map:
public List<Role> findRoleByAnnotation(@Param("roleName") String rolename, @Param("note") String note);
<select id="findRoleByAnnotaion" parameterType="map" resultMap="roleMap"> select id, role_name, note from t_role where role_name like concat('%', #{roleName}, '%') and note like concat('%', #{note}, '%') </select>
或者定义一个类,parameType="com.learn.params.RoleParam",这样接口可以这样定义
public List<Role> findRoleByParams(RoleParam param)
2、获取查询结果
简单类型可以通过 resultType 通过驼峰命名自动映射到实体类 resultType="com.learn.RoleBean"
复杂的结果则可以通过 resultMap 来映射:
<resultMap id="roleResultMap" type="com.learn.pojo.Role"> <id property="id" column="id" /> <result property="roleName" column="role_name" /> <result property="note" column="note" /> </resultMap> <select parameterType="long" id="getRole" resultMap="roleResultMap"> select id, role_name, note from t_role where id = #{id} </select>