Mybatis源码阅读1---让Mybatis运行起来

Mybatis是Java语言写的数据库到对象映射,所以需要些Java的知识,了解JDBC。

读源码肯定要debug,第一步就是把环境搭好。我使用的编译器是Idea,当然用其它编译器也ok,项目构建用了maven(也可以不用哦),jdk用1.8。首先把源码下载到本地: https://github.com/mybatis/mybatis-3 可以用git也可以直接下载zip包。下载完后我们需要的是src目录和pom.xml文件,准备完毕

1:创建一个java工程:


2:把mybatis源码的org文件(位置:src->main->java)复制到新建工程的main目录下,把mybatis源码的pom.xml里面的dependency复制到工程的pom.xml的dependencies中。顺便在dependency加上mysql驱动,修改maven-compile-plugin为1.8,下图附上dependencies和build

  
    
      ognl
      ognl
      3.2.6
      compile
      true
    
    
      org.javassist
      javassist
      3.22.0-GA
      compile
      true
    
    
      org.slf4j
      slf4j-api
      1.7.25
      true
    
    
      org.slf4j
      slf4j-log4j12
      1.7.25
      true
    
    
      log4j
      log4j
      1.2.17
      true
    
    
      org.apache.logging.log4j
      log4j-core
      2.11.0
      true
    
    
      commons-logging
      commons-logging
      1.2
      true
    
    
      cglib
      cglib
      3.2.6
      true
    

    
      mysql
      mysql-connector-java
      5.1.6
    

    
      junit
      junit
      4.11
      test
    
  

  
    
      
        org.apache.maven.plugins
        maven-compiler-plugin
        
          1.8
          1.8
        
      
    
  

3:创建City类和CityDao, 简单一点,City类只有id属性,CityDao只有一个方法getById




4:资源文件添加mybatis.xml(用的是mysql及内置的world库)




    
        
            
            
                
                
                
                
            
        
    
    
        
    

及CityMapper.xml





    


5 : 找到App.java(maven给创建的类,若没有此类就随便添加一个类),添加代码运行mybatis

public class App {
    public static void main( String[] args ) throws Exception{
        InputStream inputStream = Resources.getResourceAsStream("mybatis.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        City city = sqlSession.selectOne("com.hhg.jerry.dao.CityDao.getById",1L);
        System.out.println(city);
    }
}

到此,mybatis源码就能debug了。

总结:这一篇主要目的是能debugmybatis,为了简化,mybatis的核心配置文件只加了environment和一个mapper,CityDao也只有一个方法,City也就有一个属性。下一篇会完善mybatis的配置及mapper对应的方法。

你可能感兴趣的:(Mybatis,Java)