mybatis如何从接口映射到xml?

落落214675916

mybatis作为JAVA开发最流行的ORM(object renational mapping)框架,能够将JAVA实体类和数据库中的字段结合映射起来,达到直接操作数据库的目的!

需要明确的是,所有的ORM框架都基于JAVA原生的JDBC API做了封装,所以首先我们来了解下jdbc是怎么操作数据库的?

1,注册驱动!

2,建立connection!

3 ,创建操作语句statement!

4,执行statement!

5,封装结果resultset!

既然是封装jdbc,也就是在jdbc的基础上进行扩展,达到使用方便的效果!


在mybatis容器初始化的时候,会自动进行驱动注册,并把xml中配置的sql语句按照命名空间(就是接口名)加sql ID的方式作为key,sql语句作为value放入hashMap中存储起来,等到使用的时候从hashmap中取出,经过反射处理得到原生的sql语句,在使用jdbc executor进行执行!

执行过程中,如果有parameterType映射错误,或者SQL语句错误,则会抛出异常到应用层!

得到数据操作结果以后,使用resultmap中的映射关系把数据映射到JAVA实体类中,并创建相应的实例对象!




自己总结的mybatis的常用功能:

1,使用xml文件配置使用映射

2,使用typeAliases修改类型别名

3,使用插件进行方法拦截

4,使用类型句柄(typehandlers)匹配java的参数或者返回值类型

5,使用环境(environments)配置多个不同的环境,以便使用不同的数据库

6,使用事务管理器(Transaction)管理事务

7,使用动态SQL

8,处理一对一关系使用联合(association),处理一对多使用聚集(cellection)

9,使用识别器(discriminator)对产生的结果集进行筛选(类似switch语句)

10,使用cache开启缓存

11,使用缓存引用res-cache(让不同命名空间都能使用同一个缓存机制)


mybatis还有更多用法,玩法,关注我,我们一块学习!


分享到:


相關文章: