MyBatis框架是SqlSessionFactoryBuilder从mybatis-config配置文件来构建SqlSessionFactory,

然后的实例SqlSessionFatory的实例开启一个Sqlsession,然后Sqlsession的实例获得Mapper对象并运行Mapper映射的,完成对数据库的CRUT和事务提交,然后关闭Sqlsession;

1.一个简单的SqlSessionFactory创建

InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);

Mybatis配置文件

这是mybatis的核心设置,包括数据库连接的数据源和控制事务作用域和控制事务方式的管理,

mybatis还有一个特点是把sql语句映射,mybatis可以映射Mapper的方法和和XML映射的SQL构成映射关系,而这些XML映射文件也在Mapper配置文件进行设置。

简单的mapper-config配置

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
  <environments default="development">
    <environment id="development">
      <!-- 事务管理器 -->
      <transactionManager type="JDBC"/>
      <!-- 数据源 -->
      <dataSource type="POOLED">
        <property name="driver" value="${driver}"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>
      </dataSource>
    </environment>
  </environments>
  <!-- XML 映射文件 -->
  <mappers>
    <mapper resource="org/mybatis/example/BlogMapper.xml"/>
  </mappers>
</configuration>

mybatis访问数据库

因为SqlSessionFactory管理着mybatis配置文件的信息,会根据SqlSessionFactory创建session的实例,session同样也会获得mybatis配置文件的信息,并且通过数据库相关的信息,

根数据库打交道。

一个简单的映射访问数据库的例子

SqlSession  sqlSession = MyBatisUtils.createSqlSession();
userList = sqlSession.getMapper(SysUserMapper.class).getUserListQuery();

MyBatis基本工作原理相关推荐

  1. mybatis的工作原理

    MyBatis 的工作原理 在学习 MyBatis 程序之前,读者需要了解一下 MyBatis 工作原理,以便于理解程序.MyBatis 的工作原理如图 2 所示. 下面对图 2 中的每步流程进行说明 ...

  2. MyBatis基本工作原理介绍

    1.MyBatis基本工作原理介绍 计算机的基本工作就是存储和计算,而MyBatis是存储领域的利器.MyBatis的基本工作原理就是:先封装SQL,接着调用JDBC操作数据库,最后把数据库返回的表结 ...

  3. Mybatis 的工作原理及流程

    1.介绍 MyBatis的底层操作封装了JDBC的API,MyBatis的工作原理以及核心流程与JDBC的使用步骤一脉相承,MyBatis的核心对象(SqlSession,Executor)与JDBC ...

  4. java的工作原理你知道吗_每天用Mybatis,但是Mybatis的工作原理你真的知道吗?

    近来想写一个mybatis的分页插件,但是在写插件之前肯定要了解一下mybatis具体的工作原理吧,于是边参考别人的博客,边看源码就开干了. 核心部件:SqlSession Executor Stat ...

  5. MyBatis 的工作原理,你了解过吗?

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:cnblogs.com/scuury/p/10371 ...

  6. Mybatis的工作原理,你了解过吗?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:cnblogs.com/scuury/p/10371246. ...

  7. Mybatis 的工作原理,写得太好了!

    来源:cnblogs.com/scuury/p/10371246.html 近来想写一个mybatis的分页插件,但是在写插件之前肯定要了解一下mybatis具体的工作原理吧,于是边参考别人的博客,边 ...

  8. mybatis工作原理_万字好文!MyBatis 的工作原理,你了解过吗?

    回复 1024 有特别礼包 作者:江南入直 | 来源:cnblogs.com/scuury/p/10371246.html 上一篇:微信支付的架构到底有多牛? 近来想写一个mybatis的分页插件,但 ...

  9. 五分钟,带你彻底掌握 MyBatis缓存 工作原理

    作者:双子孤狼 blog.csdn.net/zwx900102/article/details/108696005 前言 在计算机的世界中,缓存无处不在,操作系统有操作系统的缓存,数据库也会有数据库的 ...

  10. mybatis 原理_了解Mybatis的工作原理吗

    点击上方"Java知音",选择"置顶公众号" 技术文章第一时间送达! 作者:江南入直 cnblogs.com/scuury/p/10371246.html 推荐 ...

最新文章

  1. 微信小程序自定义组件之Picker组件
  2. HOGDescriptor 描述类
  3. [Cocoa]深入浅出Cocoa之多线程NSThread
  4. 一个查看UI5控件所有公有方法的小技巧
  5. QT设计器主界面中文介绍
  6. Python生成Windows可执行exe文件
  7. vue 声明周期函数_Vue_生命周期函数
  8. 客户端是选择Java Swing还是C# Winform
  9. 九张图带你了解全宇宙最神秘的团体——程序员
  10. jQuery的radio,checkbox,select操作
  11. 中国汽车产业数字化服务商研究报告及TOP50榜单
  12. Nature | IL-27直接靶向脂肪细胞以促进产热而改善肥胖
  13. 让Python输出更漂亮
  14. Java生成和操作Excel文件
  15. No_16_0224 Java基础学习第五天
  16. 威纶通触摸屏232脚位_触摸屏通讯口(USB、RS232、RS422/485)的正确使用
  17. 【Unity】制作剧情向游戏使用Fungus插件
  18. UI设计中的原型图用什么工具?怎么做?给谁看?
  19. 《动手学深度学习》(PyTorch版)代码注释 - 56 【Machine_translation】
  20. python期货数据 库_如何用python或者基于vnpy框架将期货tick数据聚合成1分钟数据呢?...

热门文章

  1. 段间转移、长调用、短调用
  2. win10右键新建没有文本文档
  3. git ------ git clone方法总结(可直接加账户和密码)
  4. Mac使用NATAPP完成内网穿透
  5. 51单片机入门之四:静态数码管,单片机如何驱动数码管
  6. table.on('tool(test) test值是什么
  7. 简单实现mui-底部选项卡
  8. 利用github和godaddy搭建使用二级域名的个人主页
  9. [NOIP2001 普及组] 最大公约数和最小公倍数题解
  10. Medium之1421.净现值查询