1.SqlSessionFactoryBuilder 接收 mybatis 主配置 xml 文件 流, 通过 build模式构建出 SqlSessionFactory 工厂对象。
2.SqlSessionFactory 读取 xml 配置中的 连接数据库配置,和Mapper 映射信息,生产出真正操作数据库的SqlSesssion对象 。
3.SqlSession 对象 有两大作用:
1)通过getMapper 生成接口代理对象。
2)定义通用增删改查方法。
具体内容是
通过读取SqlSesstionFactory 传入的配置信息 创建JDBC Connection。
通过实现InvocationHandler 创建 JDK 动态代理参数,传入 Proxy.newProxyInstance(
classloader,interfaces, invocationHandler) 创建 动态代理对象作为 getMapper 的返回值。
通过InvocationHandler 对象获取 执行sql 语句。执行对应的CRUD 操作。
还有一种实现方式:
在SqlSession 实现对象中提供 selectList ,selectOne,insert 等方法,
用SqlSessionFactory 拿到的 数据库链接信息 创建出 Connection对象, 通过直接拿到的sql
语句,利用connection 执行CRUD 操作。
4.封装结果集:
对数据库的结果集进行封装,变成java对象返回给调用者。我们需要知道调用者所需要的返回类型。
网友评论