手写mybatis
- 引入自定义持久层框架依赖
- 提供配置信息
数据库配置信息
jdbc相关信息,jdbcUrl/driverClassName/username/password
sqlMapConfig.xml:存放数据库配置信息,存放mapper.xml的全路径
sql配置信息
mapper.xml: 存放sql配置信息,sql语句、参数类型、返回值类型
本质是对jdbc代码的封装
根据配置文件的路径,加载配置文件为字节输入流,储存在内存中
创建Resources类 方法:InputStream getResourceAsStream(String path)
存放的就是对配置文件解析出来的内容
Configuration: 核心配置类:存放sqlMapConfig.xml解析出来的内容
MappedStatement: 映射配置类:存放mapper.xml解析出来的内容
创建类:SqlSessionFacroryBuilder 方法:builder(InpoutStream in)
使用dom4j解析配置文件,将解析出来的内容封装到容器对象
创建SqlSessionFacrory对象,生产SqlSession会话对象 (工厂模式)
定义对数据库的curd操作:selectList()/selectOne()/update()/delete()
query(Configuration, MappedStatement, Object... params)执行的就是JDBC代码
详情请看persistence-test/src/test/java/test/IPersistenceTest.java