mybatis传入参数的方式

mybatis传入参数的方式

方式一 通过java bean传参

<update id="updateEmpByNo" parameterType="employee">
        update emp set ename=#{ename} where empno=#{empno}
</update>

测试

 @Test
    public void updateTest() throws IOException {
        //顺序传参
        SqlSession session = MBUtils.getSession();
        EmpMapper empMapper = session.getMapper(EmpMapper.class);
        Emp emp = new Emp();
        emp.setEname("admin");
        emp.setEmpno(8888);
        empMapper.updateEmpByNo(emp);
        session.commit();

    }

方式二 顺序传参

有两种 arg0 arg1和param1 param2

	<!--此时因为有多个参数  所以参数类型不能逐一制定 可以省略  有mybatis自动匹配-->
    <update id="updateEmpByNo2">
            update emp set ename=#{param1} where empno=#{param2}
    </update>
	<!--此时因为有多个参数  所以参数类型不能逐一制定 可以省略  有mybatis自动匹配-->
    <update id="updateEmpByNo2">
            update emp set ename=#{arg0} where empno=#{arg1}
    </update>

测试

  @Test
    public void update2Test(){
        //顺序传参
        SqlSession session = MBUtils.getSession();
        EmpMapper empMapper = session.getMapper(EmpMapper.class);
        empMapper.updateEmpByNo2("admin",8888);
        session.commit();

    }

方式三 @Param注解传参

mapper.java

public void updateEmpByNo2(@Param("name") String ename,@Param("no") Integer empno) throws IOException;

mapper.xml

<update id="updateEmpByNo2">
        update emp set ename=#{name} where empno=#{no}
</update>

测试

@Test
    public void update3Test(){
        //注解传参
        SqlSession session = MBUtils.getSession();
        EmpMapper empMapper = session.getMapper(EmpMapper.class);
        empMapper.updateEmpByNo3("admin",8888);
        session.commit();

    }

方式四 map传参

mapper.java

public void updateEmpByNo3(Map<String,Object> argMap) throws IOException;

mapper.xml

<update id="updateEmpByNo3" parameterType="hashmap">
        update emp set ename=#{name} where empno=#{no}
</update>

测试

@Test
    public void update4Test(){
        //map传参
        SqlSession session = MBUtils.getSession();
        EmpMapper empMapper = session.getMapper(EmpMapper.class);
        Map<String,Object> map = new HashMap();
        map.put("ename","ename");
        map.put("no",8888);
        empMapper.updateEmpByNo4(map);
        session.commit();

    }
发布了41 篇原创文章 · 获赞 1 · 访问量 896

猜你喜欢

转载自blog.csdn.net/DreamCloud714/article/details/104583354