MyBatis 的 DAO 接口跟 XML 文件里面的 SQL 是如何建立关系的
MyBatis 会先 解析这些 XML 文件 ,通过 XML 文件里面的 命名空间 (namespace)跟 DAO 建立关系 ;然后 XML 中的每段 SQL 会有一个id 跟 DAO 中的接口进行关联。 首先我们要知道每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为中心的, SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。 但 SqlSessionFactory 是一个接口,它里面其实就两个方法: openSession 、 getConfiguration 其中, openSession 方法是为了获取一个 SqlSession 对象,完成必要数据库增删改查功能。但是, SqlSessionFactory 属性太少了,所以需要 getConfiguration 的配合;来配置 mapper 映射文件、SQL 参数、返回值类型、缓存等属性。 /** * Creates an {@link SqlSession} out of a connection or a DataSource * * @author Clinton Begin */ public interface SqlSessionFactory { SqlSession openSession();