package com.lovecoding.test; import com.lovecoding.test.dao.UserMapper; import com.lovecoding.test.pojo.User; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Test; import java.io.IOException; import java.io.InputStream; public class MybatisUserMapperTest { /** * Mybatis 接口传递参数 */ @Test public void t1() throws IOException { //我们定义了 mybatis 配置文件路径 String res = "mybatis-config.xml"; //我们用 Resources 去把配置文件转化为 数据流 InputStream resourceAsStream = Resources.getResourceAsStream(res); //我们用 mybatis SqlSessionFactoryBuilder 工厂类 去创建 SqlSessionFactory SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream); //我们用 SqlSessionFactory 创建 SqlSession SqlSession sqlSession = build.openSession(); //我们用 sqlsession 去加载 UserMapper.xml 的代理类 UserMapper mapper = sqlSession.getMapper(UserMapper.class); //直接传递单个 参数调用 User user = mapper.selectUserById(2); System.out.println( user ); //使用 @Param() 绑定 接口和 XML SQL 参数的调用方法 User u = mapper.selectUserByIdandName(2, "李四"); System.out.println( u ); } }