Mybatis入门学习04--核心API

本文介绍了MyBatis中的三个核心组件:SqlSessionFactoryBuilder用于构建SqlSessionFactory,SqlSessionFactory用于管理SqlSession并提供不同配置的会话,而SqlSession则负责执行SQL语句并管理事务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SqlSessionFactoryBuilder

常⽤APISqlSessionFactory 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() ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值