Skip to main content
Hint

This article is generated by AI translation.

Mapper File

Use the @RefMapper annotation to associate a Mapper interface with an XML file, moving all or part of the method SQL definitions into the file. Methods not linked to the file can still use Method Annotations.

Mapper interface
@RefMapper("/mapper/userMapper.xml")
public interface UserMapper {
// SQL defined via annotation
@Insert("insert into users (id, name) values (#{id}, #{name})")
int saveUser(User user);

// SQL mapped to the XML file
List<User> listUsers(@Param("searchId") long searchId);
}
userMapper.xml
<mapper namespace="net.example.mapper.UserMapper">
<select id="listUsers">
select * from users where id > #{searchId}
</select>
</mapper>
Use the Mapper
Session session = config.newSession(dataSource);
UserMapper mapper = session.createMapper(UserMapper.class);
List<User> result = mapper.listUsers(2);
Tip

How you obtain a Session depends on your project architecture. See Framework Integration for details.

User Guide

  • Document Structure, the basic structure and validation of Mapper files.
  • Document Tags, <select>, <insert>, <update>, <delete> and other SQL tags (see Type Aliases).
  • Dynamic SQL, <if>, <choose>, <foreach> and other tags for dynamic concatenation.
  • Rules, empower SQL with more dynamic capabilities via rules.
  • Mapping Tables, configure Java object to database table mappings in XML.
  • Mapping Result Sets, configure query result set to Java object mappings.
  • Auto-Mapping, simplify <resultMap> or <entity> configuration.
  • Pagination, perform pagination queries via pagination objects.