<一>MyBatis的运行过程:
1.读取配置文件缓存到configuration对象,用来创建SqlSessionFactory,SqlSessionFactory来创建SqlSession对象
2.SqlSession的执行过程
<二>SqlSesion的执行过程核心是:反射技术和动态代理技术。
<三>动态代理分为:JDK动态代理和CGLIB代理
<四>讲到Mybatis的实现核心过程中,需要先了解反射技术;在java中,反射技术已经大行其道。
<五>反射的过程:1.通过反射创建M对象:Object service = Class.froName(M.class.getName()).newInStance();
2.获取服务类方法:Method method = service.getClass().getMethod("SayHello",String.calss);
3.反射调用方法: method.invoke(service,"张三");
<六>反射的优点:反射大大提高了java的灵活性和可配置性,降低了模块之间的耦合性。