Mybatis分析(1)-SqlSessionFactory

SqlSessionFactory

  • 首先理解mybatis的原理,并不是从spring的集成开始。而每一个mybatis的应用程序都是由SqlSessionFactory为核心开始,而SqlSessionFactory又是由SqlSessionFactoryBuilder对象获取而来。
    SqlSessionFactoryBuilder可以从XML配置文件中加载配置信息从而创建SqlSessionFactory。
    demo例子:
    MybatisHelloWorld:
public class MybatisHelloWorld {

    public static void main(String[] args) throws Exception{
        String resource = "src/main/resource/Configuration.xml";
        FileInputStream file = new FileInputStream(resource);
        Reader reader = new InputStreamReader(file);
        try {
            SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader);
            SqlSession session = sqlMapper.openSession();
            try {
                UserVo user = (UserVo) session.selectOne("com.hhd.mybatis.repository.UserMapper.getUser", "1");
                System.out.println(user.getId() + "," + user.getName());
            } finally {
                session.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

UserMapper:




    

UserMapper:

public interface UserMapper {

   UserVo getUser(String id);
}

UserVo:

public class UserVo implements Serializable {

    private String id;

    private String name;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

Configuration.xml




    
        
            
            
                
                
                
                
            
        
    
    
        
    

  • 运行结果


    image.png
  • 可以看出SqlSessionFactoryBuilder是整个入口的核心类,他主要承担了mybatis的配置文件的加载,解析,以及内部构建等职责。

你可能感兴趣的:(Mybatis分析(1)-SqlSessionFactory)