美文网首页
mabatis简单介绍(入门篇)

mabatis简单介绍(入门篇)

作者: 支付_产品经理 | 来源:发表于2017-11-28 21:18 被阅读0次

小沈纪录篇:希望大神指导一二。小弟感激不尽!

由于好久没接触mybatis了,现在的项目刚好用也用到了mybatis,索性写了点比较简单的demo,本文简陋太(赶时间坐公交车,没法细说,见谅),初学者看看还行,大佬自行让路哈!

首先,我们先来看看百度百科是怎么定义的。

MyBatis[2]是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Ordinary Java Objects,普通的 Java对象)映射成数据库中的记录。

每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。

用xml文件构建SqlSessionFactory实例是非常简单的事情。推荐在这个配置中使用类路径资源(classpath resource),但你可以使用任何Reader实例,包括用文件路径或file://开头的url创建的实例。MyBatis有一个实用类----Resources,它有很多方法,可以方便地从类路径及其它位置加载资源。


1、SqlMapConfig.xml是Mybatis的全局配置文件,类似于Hibernate中的hibernate.cfg.xml,主要用于配置数据源、事务、加载实体mapper.xml配置文件

2、SqlSessionFactory:会话工厂 是每一个MyBatis Application必有的,根据config配置文件创建,它主要用于创建Sqlsession会话,由sqlSessionBuilder通过new 的方式创建,SessionFatoryBuider可直接当作一个工具类使用,不需要使用单例进行管理,而由它创建的SqlSessionFactory是最好通过单例模式来创建,保证工厂一旦创建一次,就使用一个SqlSessionFactory实例。并且SqlSessionFactory的作用范围是应用程序级的,在一个application中可仅有一个SqlSessionFactory,所以用单例控制SqlSessionFactory的创建。

3、Sqlsession:会话工厂创建出Sqlsession会话后,回话方可执行DB操作,执行sql语句、事务控制等,执行后可commit提交到数据库;SqlSession的作用范围和生命周期需要开发人员特别注意,因为它不是线程安全的,除了操作方法之外,还有数据属性。所以它的作用范围最好界定到方法级别,定义为方法的局部变量,也就是一个方法独有一个SqlSession实例。

Exucutor:Mybatis在Sqlsession中提供了Exucutor类(执行器),是SqlSession用于执行sql操作数据库的接口类

Mapped Statement:另外Mapped Statement是底层封装对象,对操作数据库的参数进行封装,包括sql语句、输入参数、输出参数

Mybatis的执行流程大致是这样的

第一步,程序启动

第二步,加载配置文件Mapper.xml、Config.xml

第三,这个就牛逼了。SqlSessionFactory(构建sqlSession的工厂,用于生产session),工厂都是单例的,保证工厂一旦创建一次,就使用一个SqlSessionFactory实例

第四步,由SqlSessionFactory创建session,所有的操作将通过session完成;Statement是底层封装对象,对操作数据库的参数进行封装,包括sql语句、输入参数、输出参数

第五步,事务管理。成功则提交数据库,失败则回滚!

*创建demo第一步,创建config.xml(配置数据库连接)   项目中需要加两个包

******mybatis*******  mysql-connector-java

*创建demo第二步,创建userMapper.xml(映射sql)注意每个语句id都是唯一的。

*创建demo第三步,java代码

记住,增加和修改数据的时候记得要commit。  

接下来会有提高篇,希望各位指教!!!谢谢!  

相关文章

  • mabatis简单介绍(入门篇)

    小沈纪录篇:希望大神指导一二。小弟感激不尽! 由于好久没接触mybatis了,现在的项目刚好用也用到了mybati...

  • ElasticSearch(提高篇)

    前言 Elasticsearch的简单入门请参考之前写的一篇文章Elasticsearch简单入门篇,这篇简单介绍...

  • 2018.11.25

    spring,mabatis整合

  • 玩转时光似金(入门篇-4)

    入门篇-1简略展示了时光似金的强大功能,入门篇-2介绍了最基本功能:记录时间,入门篇-3介绍了时光似金的独特功能-...

  • spring boot mybatis 加载过程

    其实最简单的使用mybatis是这样创建spring boot 项目maven加载mabatis创建数据源配置建个...

  • Vue 学习笔记入门篇-Vue介绍

    Vue 学习笔记入门篇-Vue介绍 一、了解Vue.js vueJS是什么? 简单小巧,渐进式。功能强大的技术栈。...

  • 单片机小白学步(1) 单片机的前世今生

    从本文开始进入单片机入门篇的学习。入门篇主要介绍各种单片机基础知识概念。 入门篇阅读建议:根据个人已经掌握的知识,...

  • Arthas入门篇

    系列 Arthas入门篇Arthas功能介绍Arthas 启动过程分析 Arthas介绍 Arthas(阿尔萨斯)...

  • mabatis分页

    一、分页原理 1.需要总记录数 2.需要总页数 3.显示区间段记录,即每页显示的个数 二、Mybatis在DAO层...

  • Node.js_入门篇(一)

    Node.js_入门篇(一) 本篇文章先介绍一些简单、基础但又比较重要的概念: 一、什么是Node.js? 官方解...

网友评论

      本文标题:mabatis简单介绍(入门篇)

      本文链接:https://www.haomeiwen.com/subject/skczvxtx.html