MyBatis工作原理
Mybatis工作原理:

我们的应用程序通过mybatis提供的api,增删改查方法来访问数据库,
api底层调用了jdbc ,只不过mybatis对jdbc的封装是不完全封装,
里面的sql语句需要我们自己来写,sql语句写在映射文件mapper.xml中的,
而映射文件是注册在主配置文件mybatis.xml中的,主配置文件是通过api加载进来的
,// 1.加载主配置文件
InputStream inputStream = Resources.getResourceAsStream("mybatis.xml");
// 2.创建sqlsessionfactory对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder()
.build(inputStream);
sqlSession = sqlSessionFactory.openSession();
// 4.进行增删该查方法
sqlSession.insert("insertStudent",student);
sqlSession.commit();
} catch (IOException e) {
e.printStackTrace();
}finally{
if(null != sqlSession){
sqlSession.close();
}
}
Xml中的作用:* >=0 + >=1 ? <=1
MyBatis工作原理的更多相关文章
- 面试官:你分析过mybatis工作原理吗?
Mybatis工作原理也是面试的一大考点,必须要对其非常清晰,这样才能怼回去.本文建立在Spring+SpringMVC+Mybatis整合的项目之上. 我将其工作原理分为六个部分: 读取核心配置文件 ...
- 从源码角度分析 MyBatis 工作原理
一.MyBatis 完整示例 这里,我将以一个入门级的示例来演示 MyBatis 是如何工作的. 注:本文后面章节中的原理.源码部分也将基于这个示例来进行讲解.完整示例源码地址 1.1. 数据库准备 ...
- Mybatis八( mybatis工作原理分析)
MyBatis的主要成员 Configuration MyBatis所有的配置信息都保存在Configuration对象之中,配置文件中的大部分配置都会存储到该类中 SqlSession ...
- Mybatis工作原理(九)
mybatis工作流程: (1) SqlSessionFactoryBuilder 从 XML 配置文件或通过Java的方式构建出 SqlSessionFactory 的实例. (2) SqlSess ...
- MyBatis 工作原理
参考链接: 深入理解Mybatis原理:http://blog.csdn.net/luanlouis/article/details/40422941 MyBatis原理:http://www.jia ...
- MyBatis - 8.MyBatis工作原理
Mybatis 配置 1.SQLSessionFactory的初始化 根据配置文件获取 SqlSessionFactory 2.openSession获取SqlSession对象 3.getMappe ...
- Mybatis工作原理(含部分源码)
MyBatis的初始化 1.读取配置文件,形成InputStream String resource = "mybatis.xml"; // 加载mybatis的配置文件(它也加载 ...
- mybatis工作原理及实现
对数据库的连接 使用时就创建连接,不使用就立即释放,对数据库进行频繁连接开启和关闭,造成数据库的资源浪费,影响数据库的性能: 解决办法:使用数据库连接池,管理数据库的连接. 2 将sql语句硬编码到j ...
- Mybatis之工作原理
1.Mybatis的架构 1.1 Mybatis的框架分层 1.2 MyBatis的实现原理 mybatis底层还是采用原生jdbc来对数据库进行操作的,它支持定制化 SQL.存储过程以及高级映射的优 ...
随机推荐
- eclipse无法识别Web项目的问题
1.如果导入web项目后,eclipse无法将其识别为web项目,因而无法发布到tomcat容器中的话,可以采取以下步骤尝试解决: 选中项目名称并点击右键,选择“Properties”项,在出项的面板 ...
- Linux下jira自启动设置
jira 的启动主要依靠的是bin目录下的catalina.sh脚本,提供了如init脚本的start,stop等参数----------------------------------------- ...
- SQL Server 2016 行级别权限控制
背景 假如我们有关键数据存储在一个表里面,比如人员表中包含员工.部门和薪水信息.只允许用户访问各自部门的信息,但是不能访问其他部门.一般我们都是在程序端实现这个功能,而在sqlserver2016以后 ...
- Java 并发编程:volatile的使用及其原理
Java并发编程系列: Java 并发编程:核心理论 Java并发编程:Synchronized及其实现原理 Java并发编程:Synchronized底层优化(轻量级锁.偏向锁) Java 并发编程 ...
- lambda 与内置函数,以及一些补充
插播几条小知识: 1. lambda 表达式 对于简单的函数,我们可以用 lamdba 表达式来执行,一句话就够用
- 本地Git仓库同步到Bitbucket 远程Git仓库
转载自:http://blog.csdn.net/lue2009/article/details/46553829 本地仓库内容可以和多个远程仓库同步,本地仓库出问题或者远程仓库其中一个有问题,那么剩 ...
- Shell脚本实现文件遍历和删除操作
本文需要实现的功能如下:某文件夹下具有由按数字编号命名的文件夹,需要删除除最大编码外的文件. 具体实现 大致思路:循环遍历该文件夹下所有文件,正则匹配出最大编码文件:然后循环文件,删除除最大编码外的文 ...
- TurnipBit—MicroPython开发板:妥妥拽拽零基础也能玩编程
可视化编程网站入口:www.turnipbit.com 说到编程.谈到硬件,你也许会想到屌丝逆袭女神的"传奇"故事,也许会浮现出带着眼镜.头发稀少.无精打采的程序猿形象." ...
- mysql创建远程登陆用户并授权
在创建安装微擎的过程中,针对第四步 创建远程登陆用户并授权 > grant all PRIVILEGES on database.* to root@'127.0.0.1' id ...
- Hadoop2.9.0安装
参考 https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html 1.下载并解 ...