Mybatis基于接口的映射

DeptMpapper.xml:
  这里要求namespace是对应接口的包路径+接口名




    
      
         
         
         
         
          
      
    
    
    
    
       insert into dept(deptno,dname,loc) values(#{deptno},#{dname},#{loc})
    
    
    
       delete from dept where deptno=#{deptno}
    

    
    
      update dept set dname=#{dname},loc=#{loc} where deptno=#{deptno}
    
    

DeptMapper.java:
  注意,此接口所有的方法名都要和DeptMpapper.xml里面的方法名一一对应。

//mybatis接口和xml对应映射 
public interface DeptMapper {
        //添加部门
        public void saveDept(Dept dept);    
        public void updateDept(Dept dept);      
        public void deleteDept(int deptno);     
        //查询所有部门的方法
        public List getAllDept(); 
}

DeptAutoMapperTest.java:

public class DeptAutoMapperTest {
    
    SqlSessionFactory sqlSessionFactory  =null;
    
    @Before
    public void init() throws IOException{
        String resource = "mybatis-config.xml";
        InputStream inputStream =
                Resources.getResourceAsStream(resource);
         sqlSessionFactory = 
                new SqlSessionFactoryBuilder().build(inputStream);
    }

    @Test
    public void testGetAllDept(){
        SqlSession sqlSession =sqlSessionFactory.openSession();
        DeptMapper deptMapper =sqlSession.getMapper(DeptMapper.class);
        List list = deptMapper.getAllDept();
        for (Dept dept : list) 
        System.out.println(dept);
     }
}

使用了mybatis基于接口的映射方法,我们不用再像以前那样要在dao层中使用selectOne()、selectList()这些方法来使用sqlMap文件,我们可以直接调用接口方法即可。

你可能感兴趣的:(Mybatis基于接口的映射)