Select配置语句常用配置
常用的配置已经圈出:
id:配合Mapper映射接口使用,一般和接口函数名称一致
parameterType:输入参数的类型
resultType:输出参数的类型
ResultMap:输出映射集
flushCache:清空缓存
useCache:使用缓存
一条简单的示例
Mapper:
public Integer countUserByFirstName(String firstName);
select配置:
<select id="countUserByFirstName" parameterType="String" resultType="int">
select count(*) total from t_user where user_name like concat(#{firstName},'%')
</select>
自动映射注意事项:
POJO使用驼峰命名法:
而数据库使用连字符:
可以采用上述的方法,通过as转换到POJO的命名进行查询。
输入参数有多个
采用注解的方法(适合参数较少,又是简单类型的情况):
Mapper:
public List<Role> findRolesByParam(@Param("roleName") String rolename, @Param("note") String note);
此时无需指定select语句的parameterType:
使用POJO类(适合简单类型组装的类):
Mapper:
public List<Role> findRolesByBean(RoleParams roleParam);
使用全限定名或别名指定parameterType:
混合注解和POJO形式:
加入分页信息:
public List<Role> findByMix(@Param("params") RoleParams roleParams, @Param("page") PageParam PageParam);
加入分页参数:
ResultMap使用
先配置ResultMap,并在select配置中设置resultMap的id。
type是resultMap的类型
id是主键
result对应的是字段/属性
使用RowBounds分页(不推荐)
select语句无需设置相关参数:
代码调用: