mybatis在使用代理dao的方式实现增删改查时做了什么
第一:创建代理对象
第二:在代理对象中执行了selectList方法
分析mybatis
在SqlMapConfig.xml中配置了
相当于有了connection
有这个相当于有了配置信息
有了这个,相当于有了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)
自定义mybatis的类
Resources
SqlSessionBuilder
SqlSessionFactory
SqlSession