MyBatis 传入多个参数,@Param注解 素颜马尾好姑娘i 2022-03-25 12:28 328阅读 0赞 **一、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(); }
还没有评论,来说两句吧...