MybatisUserMapper.java 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package com.lovecoding.xml.test;
  2. import com.lovecoding.xml.test.dao.UserMapper;
  3. import com.lovecoding.xml.test.pojo.User;
  4. import org.apache.ibatis.io.Resources;
  5. import org.apache.ibatis.session.SqlSession;
  6. import org.apache.ibatis.session.SqlSessionFactory;
  7. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
  8. import org.junit.Test;
  9. import java.io.IOException;
  10. import java.io.InputStream;
  11. import java.util.List;
  12. public class MybatisUserMapper {
  13. /**
  14. * 使用 sqlSession.selectList 调用XML 执行SQL
  15. * @throws IOException
  16. */
  17. @Test
  18. public void t0() throws IOException {
  19. //我们定义了 mybatis 配置文件路径
  20. String res = "mybatis-config.xml";
  21. //我们用 Resources 去把配置文件转化为 数据流
  22. InputStream resourceAsStream = Resources.getResourceAsStream(res);
  23. //我们用 mybatis SqlSessionFactoryBuilder 工厂类 去创建 SqlSessionFactory
  24. SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
  25. //我们用 SqlSessionFactory 创建 SqlSession
  26. SqlSession sqlSession = build.openSession();
  27. /**
  28. * 直接调用mappersql方式
  29. */
  30. //查询一个列表
  31. List<User> User = sqlSession.selectList("UserMapper.selectUser");
  32. //查询一个实体类
  33. User u = sqlSession.selectOne("UserMapper.selectUserByone");
  34. System.out.println( u );
  35. }
  36. /**
  37. * 使用注解 执行SQL
  38. * @throws IOException
  39. */
  40. @Test
  41. public void t1() throws IOException {
  42. //我们定义了 mybatis 配置文件路径
  43. String res = "mybatis-config.xml";
  44. //我们用 Resources 去把配置文件转化为 数据流
  45. InputStream resourceAsStream = Resources.getResourceAsStream(res);
  46. //我们用 mybatis SqlSessionFactoryBuilder 工厂类 去创建 SqlSessionFactory
  47. SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
  48. //我们用 SqlSessionFactory 创建 SqlSession
  49. SqlSession sqlSession = build.openSession();
  50. //我们用 sqlsession 去加载 UserMapper.xml 的代理类
  51. UserMapper mapper = sqlSession.getMapper(UserMapper.class);
  52. //使用 @Select 注解的方法 执行SQL
  53. User user = mapper.selectOne();
  54. System.out.println( user );
  55. }
  56. /**
  57. * 使用 Mapper接口 代理的方式 执行SQL
  58. * @throws IOException
  59. */
  60. @Test
  61. public void t2() throws IOException {
  62. //我们定义了 mybatis 配置文件路径
  63. String res = "mybatis-config.xml";
  64. //我们用 Resources 去把配置文件转化为 数据流
  65. InputStream resourceAsStream = Resources.getResourceAsStream(res);
  66. //我们用 mybatis SqlSessionFactoryBuilder 工厂类 去创建 SqlSessionFactory
  67. SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
  68. //我们用 SqlSessionFactory 创建 SqlSession
  69. SqlSession sqlSession = build.openSession();
  70. /**
  71. * 通过接口代理的方式调用
  72. */
  73. //我们用 sqlsession 去加载 UserMapper.xml 的代理类
  74. UserMapper mapper = sqlSession.getMapper(UserMapper.class);
  75. //调用 我们定义的 mapper 方法执行 SQL 返回了我们想要的数据
  76. List<User> users = mapper.selectUser();
  77. // 打印数据
  78. System.out.println( users );
  79. }
  80. }