20200430——mybatis自定义

mybatis在使用代理dao的方式实现增删改查时做了什么
第一:创建代理对象
第二:在代理对象中执行了selectList方法

分析mybatis

在SqlMapConfig.xml中配置了
20200430——mybatis自定义
相当于有了connection

20200430——mybatis自定义
有这个相当于有了配置信息

20200430——mybatis自定义
有了这个,相当于有了sql语句,获取PreparedStatement,还有封装的实体类全限定类名

解析配置文件:用到的技术就是用XML的技术

DOM4J解析XML

selectList方法执行
1)根据配置文件的信息创建Connection对象
注册驱动,获取连接
2)获取预处理对象,PreparedStatement需要Sql语句
3)执行查询,preparedStatement.executeQuery(); 得到ResultSet对象
4)遍历结果集用于封装,把每个rs加入到element中,然后再把每个element加入到list中
5)返回list集合

我们需要连接信息和映射信息(执行sql语句,封装的结果类全限定类名),封装成为一个对象mapper(String sql,String domainClassPath)
20200430——mybatis自定义

自定义mybatis的类

Resources
SqlSessionBuilder
SqlSessionFactory
SqlSession

20200430——mybatis自定义
代码地址