标签:spring 两种 app 代码 reader ring 不能 environ 模式
SqlSessionFactoryBuilder(构建SqlSessionFactory)
用过即丢,其生命周期只存在于方法体内
可重用其来创建多个SqlSessionFactory实例
负责构建SqlSessionFactory,并提供多个build方法的重载、
真正的重载方法只有三种:
InputStream (字节流) Reader(字符流) Configuration(类)
build(Reader reader,Spring environment,Properties properties)
build(InputStream inputStream,Spring environment,Properties properties)
build(Configuration config)
SqlSessionFactory(创建SqlSession实例的工厂)
单例模式:一旦创建,整个应用运行过程中始终存在,没有理由去销毁或创建,不建议多次创建
SqlSession(用于执行持久化操作的对象)
包含了执行SQL所需的所有方法
对应一次数据库会话,会话结束必须关闭
关闭SqlSession非常重要,必须要确保在finally代码块中正常关闭
在Sqlsession里可以执行多次SQL语句,但一旦关闭了SqlSession就需要重新创建
数据库会话不是永久的
线程级别,不能共享
最佳的作用域范围是request作用域或者方法体域内。
两种使用方法
通过Sqlsession实例直接运行映射的SQL语句
调用sqlSession。selectList()执行查询操作
基于Mapper接口方式操作数据
接口的方法必须与SQL映射文件中SQL语句的 ID 一 一对应。
调用sqlSession。getMapper(Mapper.clss)执行DAO接口方法来实现对数据库的查询操作
2.mybatis-config.xml系统核心配置文件 SqlSessionFactoryBuilder(用 build() 方法的重载)构建-> SqlSessionFactory (创建SqlSession实例的工厂)open session -> SqlSession(可以进行数据库操作)
标签:spring 两种 app 代码 reader ring 不能 environ 模式
原文地址:https://www.cnblogs.com/jiangxiaosu/p/9148088.html