Mybatis入门学习04--核心API

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-21 15:38   139   0

SqlSessionFactoryBuilder

API SqlSessionFactory build(InputStream inputStream)
通过加载 mybatis 的核件的输流的形式构建个 SqlSessionFactory 对象
//加载核配置件 SqlMapConfig.xml
InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
//构造SQLSessionFactory对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
其中, Resources 具类,这个类在 org.apache.ibatis.io 包中。
Resources 类帮助你从类路径下、件系统或个 web URL 中加载资源件。

SqlSessionFactory

SqlSessionFactory 是个接,接中定义了 openSession 的不同重载法 ; SqlSessionFactory 是线程安全 , SqlSessionFactory的最佳使范围是整个应运期间,旦创建后可以重复使,通常以单例模式管理 SqlSessionFactory
含义
openSession()
会默认开启个事务,但事务不会动提交 ,也就意味着需要动提交该事务 , 更新操作数据才会持久化到数据库中
openSession(boolean
autocommit)
参数为是否动提交 , 如果设置为 true, 那么不需要动提交事务
A. 通过SqlSessionFactory 获取个SqlSession;
 SqlSession sqlSession = sqlSessionFactory.openSession();
 
B. 通过SqlSessionFactory 获取个可以动提交的 SqlSession;
 SqlSession sqlSession = sqlSessionFactory.openSession(true);

SqlSession

SqlSession 是个向户(程序员)的接, sqlSession中定义了数据库操作法。每个线程都应该有它的 SqlSession 实例。 SqlSession的实例不能共享使,它也是线程不安全的。因此最佳的范围是请求或法范围。绝对不能将SqlSession实例的引放在个类的静态字段或实例字段中。打开个 SqlSession ;使完毕就要关闭它。通常把这个关闭操作放到 finally 块中以确保每次都能执关闭
执语句的法主要有:
<T> T selectOne(String statement, Object parameter) ;
<E> List<E> selectList(String statement, Object parameter) ;
 
int insert(String statement, Object parameter)
int update(String statement, Object parameter)
int delete(String statement, Object parameter)
操作事务的法主要有:
void commit() ; 
void rollback() ;
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP