有了这张对照表,再也不怕写MyBatis代码了

前言

MyBatis作为一款持久层的框架,从最初的ibatis更名,经过五六年的发展更新,如今已经更新到了3.4.5版本。MyBatis通过简单的xml或注解配置,就能将接口和Java的对象映射成数据库的记录,避免了很多的手动配置,现已被越来越多的开发者使用。

刚开始使用的话,可能会有很多困惑:明明传递了值,为什么传递不到xml中?到底该用resultMap还是用resultType?如果我想返回String、Map、List等等,该如何写?在写了这么多MyBatis代码后,我总结了一下项目中常见的几种,供大家参考,如果想进一步了解,请参考官方文档:http://www.mybatis.org/mybatis-3/zh/index.html

有了这张对照表,再也不怕写MyBatis代码了

干货图

有了这张对照表,再也不怕写MyBatis代码了

接口和xml对应图表

高清图:http://img.blog.csdn.net/20170831064012748

干货图描述

在业务逻辑中,最常用的当属查询了,传递的值多样化,需要的返回值样式也不一样,但是等写好了回来再看时,发现也就那几种。

1. 参数类型:String,返回值类型:List

public List getStudentByName(@Param(value="name") String name);

select * from xxx where stu_name = #{name}

3. 参数类型:String,返回值类型:对象

public Student getStudentById(@Param(value="id") String id);

select user_id from sys_users where open_id=#{openId}

5. 参数类型:String,返回值类型:List

List getUserIds(@Param("tenantId") String tenantId);

select sum(transaction_amount) as chargeSum from xxx where id = #{uid}

7. 参数类型:String,返回值类型:List>

List> getReadsNum(@Param(value = "account") String account);