mybatis map参数_mybatis从入门到精通,第二篇《参数传递》,干货满满

mybatis 框架的主要工作是数据访问层, 侧重于与数据库打交道的sql语句的编写,要求对SQL也要求比较熟练。mybatis 传递参数的方式主要有如下⑤种:

c0196b72c3fb2747be1a9c0b8e7f513e.png

第①种:单个参数传递方式

EmpMapper.java

public interface EmpMapper {    /**     * 根据雇员编号查询雇员信息     * @param empno     * @return     */    Emp queryEmpByEmpno(int empno);}

EmpMapper.xml

         select * from emp where empno = #{empno}  

注明:单个参数parameterType可不写,sql语句中#{empno}可以写#{任意名称}。

第②种:多个参数传递方式

EmpMapper.java

public interface EmpMapper {    /**     * 根据雇员工作或部门编号查询雇员信息     * @param job     * @param deptno     * @return     */    List queryEmpListByJobOrDeptno(String job,int deptno);}

EmpMappper.xml

        select * from emp where job = #{arg0} or deptno = #{arg1}  ------或者---------        select * from emp where job = #{param1} or deptno = #{param2} 

注明: #{arg0} 代表的是第一个参数,#{arg1} 代表的是第二个参数;#{param1} 代表的是第一个参数,#{param2} 代表的是第二个参数,以此类推。

第③种:固定参数传递方式

EmpMapper.java

public interface EmpMapper {    /**     * 据雇员工作或薪资查询雇员信息     * @param job     * @param sal     * @return     */    List queryEmpListByJobOrSal(@Param("job") String job, @Param("sal") BigDecimal sal);}

EmpMapper.xml

          select * from emp where job = #{job} or sal = #{sal}    

注明:此种方式对于参数来说就比较直观

第④种:map的参数传递方式

EmpMapper.java

public interface EmpMapper {    /**     * 根据条件查询雇员信息     * @param map     * @return     */    List queryEmpListBy(Map map);}

EmpMapper.xml

     select * from emp where job = #{job} or sal = #{sal}

测试

EmpMapper empMapper = sqlSession.getMapper(EmpMapper.class);Map map = new HashMap();map.put("job","salesman");map.put("sal",new BigDecimal("3000"));List empList =  empMapper.queryEmpListBy(map);

注明:此种方式以map的形式来传入需要的参数,当参数较多时,使用此种方式比较方便。

第⑤种:实体传输参数方式

EmpMapper.java

public interface EmpMapper {    /**     * 根据条件查询雇员信息     * @param emp     * @return     */    List queryEmpListByEmp(Emp emp);}

EmpMapper.xml

    select * from emp where job = #{job} or sal = #{sal}

测试

EmpMapper empMapper = sqlSession.getMapper(EmpMapper.class);Emp emp = new Emp();emp.setJob("salesman");emp.setSal(new BigDecimal("3000"));List empList =  empMapper.queryEmpListByEmp(emp);

在mybatis相关的实际项目开发中使用如上几种方式比较常用,你学会了吗?谁在最需要的时候轻轻拍着我肩膀,谁在最快乐的时候愿意和我分享。我是一个包夜敲代码,想靠技术苟且的程序员。如果觉得有点用的话,请毫不留情地关注、点赞、转发。这将是我写出更多优质文章的最强动力!

4cee79d413eae4734c5eac895c7a5173.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值