学习mybatis的第一天

什么是mybatis框架:

mybatis属于三层架构中的持久层框架,直接与数据库相互联系,主要为Dao接口,(DAO:数据访问层,Data Acess Object)

如图所示:


三层架构

mybatis的环境搭建:

①、创建maven工程并导入jar包的坐标;

②、创建实体类和dao接口;

③、创建mybatis的主配置文件 ;

④、创建映射配置文件,即每个dao独立的配置文件;

环境搭建的注意事项:

①、一般在mybatis中,把持久层的操作接口名称和映射文件也叫:Mapper,所以一般取名为IUserMapper.xml,但为了和之前的知识保持一致,于是取名叫IUserDao.xml,所以以后看到IUserMapper.xml和IUserDao.xml其实是一样的。

②、mybatis的映射配置文件位置必须和dao接口的包结构相同。

③、映射配置文件的mapper标签namespace属性的取值必须是dao接口的全限定类名。

④、映射配置文件的操作配置(select或update、insert等)id属性的取值必须是dao接口的方法名。

只有遵从了②③④之后,无需写dao实现类,直接定义接口即可。

mybatis的快速入门:

1、读取配置文件

2、创建SqlSessionFactorygong工厂(使用了构建者模式,调用方法即可拿到对象

3、使用工厂生产出SqlSession对象(使用了工厂模式,解耦(降低类依赖关系)

4、使用SqlSession对象创建Dao接口的代理对象(使用了代理模式,增强方法,不用创建实现类

5、使用代理对象执行Dao接口中的方法

6、释放资源


实现方式

注意事项:

不要忘记在映射配置文件中告知mybatis要封装到哪个实体类中,即resultType的属性值要指定实体类的全类名。

*mybatis基于注解实现环境配置:

①、把IUserDao.xml移除,在dao接口的方法上使用@select注解,并且制定SQL语句。(@update、@insert、......)

②、同时需要在SqlMapConfig.xml中的mappers中的mapper配置时,使用class属性指定dao接口的全类名即可。

最后明确:

在实际的开发中,都是越简便越好,所以都是采用不写dao实现类的方式,不管使用注解还是xml进行配置,都比写dao实现类简洁太多太多,但是支持写dao实现类。

自定义mybatis的分析:


关于查询所有的底层原理

其实mybatis在使用代理dao的方式实现增删改查时只做了两件事:

1、创建代理对象

2、在代理对象中调用selectList方法





你可能感兴趣的:(学习mybatis的第一天)