使用端:(項目):引入自定義持久層框架的jar包
1.提供兩部分配置信息:數(shù)據(jù)庫配置信息讨惩、sql配置信息:sql語句酬蹋、參數(shù)類型疗垛、返回值類型
使用配置文件來提供這兩部分配置信息:
(1)sqlMapConfig.xml:存放數(shù)據(jù)庫配置信息
(2)mapper.xml:存放sql配置信息
自定義持久層框架本身:(工程):本質(zhì)就是對JDBC代碼進(jìn)行了封裝
(1)加載配置文件:根據(jù)配置文件的路徑,加載配置文件成字節(jié)輸入流疹味,存儲在內(nèi)存中
創(chuàng)建Resources類 方法:InputStream getResourceAsStream(String path)
(2)創(chuàng)建兩個JavaBean:(容器對象):存放的就是對配置文件解析出來的內(nèi)容
Configuration:核心配置類:存放sqlMapConfig.xml解析出來的內(nèi)容
MappedStatement:映射配置類:存放mapper.xml解析出來的內(nèi)容
(3)解析配置文件:dem4j
創(chuàng)建類:SqlSessionFactoryBuilder 方法:build(InputDtream In)
第一:使用dom4j解析配置文件,將解析出來的內(nèi)容封裝到容器對象中
第二:創(chuàng)建SQLSessionFactory對象;生產(chǎn)sqlSession:會話對象(工廠模式)
(4)創(chuàng)建SQLSessionFactory接口及實現(xiàn)類DefaultSQLSessionFactory
第一:openSession():生產(chǎn)sqlSession
(5)創(chuàng)建SqlSession接口及實現(xiàn)類DefaultSession
定義對數(shù)據(jù)庫的crud操作:
selectList()踩麦、selectOne()、update()氓癌、delete()
(6)創(chuàng)建Executor接口及實現(xiàn)類SimpleExecutor實現(xiàn)類
query(Configuration谓谦,MappedStatement,Object...params):執(zhí)行的就是JDBC