|
@@ -0,0 +1,87 @@
|
|
|
+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;
|
|
|
+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> User = sqlSession.selectList("com.lovecoding.test.dao.UserMapper.selectUser");
|
|
|
+ //查询一个实体类
|
|
|
+ User u = sqlSession.selectOne("com.lovecoding.test.dao.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<User> users = mapper.selectUser();
|
|
|
+ // 打印数据
|
|
|
+ System.out.println( users );
|
|
|
+ }
|
|
|
+
|
|
|
+}
|