Spring_22_整合Mybatis方式二

整合Mybatis方式二 SqlSessionDaoSupport

  • 让实现类继承 org.mybatis.spring.support.SqlSessionDaoSupport;

    public class UserMapperImplTwo extends SqlSessionDaoSupport implements UserMapper

  • 继承之后可以通过父类的getSqlSession()方法获取到SqlSession对象, 就不需要在application.xml文件中再进行SqlSession的配置了,但是需要给实现类传入一个SqlSessionFactory对象

     <!--注入实现类 传入sqlSessionFactory-->
     <bean name="queryUser2" class="com.shi.mapper.UserMapperImplTwo">
         <property name="sqlSessionFactory"  ref="sqlSessionFactory"/>
     </bean>
    
  • 代码

    • 实现类

      public class UserMapperImplTwo extends SqlSessionDaoSupport implements UserMapper {

                   public List<User> queryUser() {
      
                         /*
                         //获取SqlSession
                         SqlSessionTemplate sqlSession=getSqlSessionTemplate();
      
                         //注册映射文件
                         UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
      
                         //返回执行结果
                         return userMapper.queryUser();
                        */
      
                         //总结一行代码
                         return getSqlSession().getMapper(UserMapper.class).queryUser();
                     }
                 }   
      
    • 测试类

      @Test
      public void testQueryUserTwo() throws IOException {
      //注册配置文件
      ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");

         //获取对象
         UserMapper userMapper=context.getBean("queryUser2",UserMapper.class);
      
         //执行方法
         List<User> userList=userMapper.queryUser();
      
         //输出
         for (User user:userList) {
             System.out.println(user);
         }
      

      }

posted @ 2021-05-12 15:53  失昼  阅读(37)  评论(0编辑  收藏  举报