package com.lovecoding.xml.test; import com.lovecoding.xml.test.dao.UserMapper; import com.lovecoding.xml.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; import java.util.List; public class MybatisUserMapper { /** * 使用 sqlSession.selectList 调用XML 执行SQL * @throws IOException */ @Test public void t0() 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(); /** * 直接调用mappersql方式 */ //查询一个列表 List User = sqlSession.selectList("UserMapper.selectUser"); //查询一个实体类 User u = sqlSession.selectOne("UserMapper.selectUserByone"); System.out.println( u ); } /** * 使用注解 执行SQL * @throws IOException */ @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); //使用 @Select 注解的方法 执行SQL User user = mapper.selectOne(); System.out.println( user ); } /** * 使用 Mapper接口 代理的方式 执行SQL * @throws IOException */ @Test public void t2() 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); //调用 我们定义的 mapper 方法执行 SQL 返回了我们想要的数据 List users = mapper.selectUser(); // 打印数据 System.out.println( users ); } }