按照原始思路:
//用number和name查询 public User SelectUser02(int number, String name);
@Test public void Test02() throws IOException { String resource = "Mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(true); UserInterface mapper = sqlSession.getMapper(UserInterface.class); System.out.println(mapper.SelectUser02(103, "罗振声")); }
结果:报以下错误
解决方式:使用@Param注解
public User SelectUser02(@Param("number") int number, @Param("name") String name);2.传参方式 (1)map集合
编写接口用HashMap接收参数
public User SelectUser03(HashMap map);
编写SQL
测试类
@Test public void Test03() throws IOException { String resource = "Mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(true); UserInterface mapper = sqlSession.getMapper(UserInterface.class); HashMap
可以用普通传参,看具体需要什么就给什么,也可以用实体类传参(直接给个对象),如果某个需求经常用模型里没有的参数也可以考虑用DTO传参
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)