MyBatis 传入多个参数,@Param注解

一、Param注解

mybatis中的方法都是只支持传入一个参数的. 如果想传入多个参数.

1.在方法参数定义Map集合,把需要传入的参数放入map中.

public interface IUserMapper {
   User  getUser(Map<String,Object> paramMap);
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- namespace:名称空间,全局的唯一标识 -->
<mapper namespace="com.shenzhenair.mybatis.demo_01.IUserMapper">

    <select id="getUser" resultType="User" >
        select  id,user_name,password,age,name from tb_user where user_name=#{userName} and password=#{password}
    </select>

</mapper>

测试类:


    @Test
    public  void testParam() throws IOException {
        SqlSession session = MybatisUtils.openSession();
        IUserMapper mapper = session.getMapper(IUserMapper.class);
        Map<String,Object> paramMap = new HashMap<String,Object>();
        paramMap.put("userName","Tim7");
        paramMap.put("password","123456");
        User user = mapper.getUser("Tim7","123456");
        System.out.println(user);

        session.commit();
        session.close();


    }

2.使用@Param注解来解决.

public interface IUserMapper {
  User  getUser(@Param("userName") String userame, @Param("password") String password);
}

测试类:


    @Test
    public  void testParam() throws IOException {
        SqlSession session = MybatisUtils.openSession();
        IUserMapper mapper = session.getMapper(IUserMapper.class);
        User user = mapper.getUser("Tim7","123456");
        System.out.println(user);

        session.commit();
        session.close();


    }

猜你喜欢

转载自blog.csdn.net/m0_38068812/article/details/86567713
今日推荐