mabatis简单介绍(入门篇)

2017-11-28  本文已影响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。  

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

上一篇下一篇

猜你喜欢

热点阅读