MyBatis介绍(一)

一、Mybatis介绍
1.1 简介:
MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
1.2 MyBatis官网: http://mybatis.org
1.3 ORM (Object/Relational Mapping ):即对象/关系映射,是一种持久化技术。
1.4 mybatis下载
mybaits的代码由github.com管理,地址:https://github.com/mybatis/mybatis/releases
(mybatis-3.2.7.jar—-mybatis的核心包)

1.5 MyBatis架构
(1) mybatis配置
SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息。
mapper.xml文件即sql映射文件,文件中配置了操作数据库的sql语句。此文件需要在SqlMapConfig.xml中加载。
(2)、 通过mybatis环境等配置信息构造SqlSessionFactory即会话工厂,完成对配置文件的读取
(3)、 由会话工厂创建sqlSession即会话,操作数据库需要通过sqlSession进行。
作用是调用mapper文件进行数据操作
(4)、关闭SqlSession对象

1.6 MyBatis基本要素:,,
(1)核心接口和类: 以SqlSessionFactory对象的实例为核心
1.首先获取SqlSessionFactoryBuilder对象 根据XML配置文件或Configuration实例构建对象
2.获取SqlSessionFactory对象,通过SqlSessionFactoryBuilder对象来获取
(2)核心配置文件(元素节点是有先后顺序)
.1 configuration 整个XML配置文件的根节点
properties(属性)
settings(全局配置参数)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments 元素 可以配置多套运行环境
environment(环境子属性对象)
transactionManager(事务管理)
dataSource(数据源)
. mappers元素 映射器 定义SQL映射语句(1.使用resource获取路径 2.使用url获取路径)
(3) SQL映射文件
注意:
1.实体类对象的属性与数据库表的字段名一致
2.SqlSession的使用范围
SqlSession中封装了对数据库的操作,如:查询、插入、更新、删除等。
通过SqlSessionFactory创建SqlSession,而SqlSessionFactory是通过SqlSessionFactoryBuilder进行创建。
3 SqlSessionFactoryBuilder
SqlSessionFactoryBuilder用于创建SqlSessionFacoty,SqlSessionFacoty一旦创建完成就不需要SqlSessionFactoryBuilder了,因为SqlSession是通过SqlSessionFactory生产,所以可以将SqlSessionFactoryBuilder当成一个工具类使用,最佳使用范围是方法范围即方法体内局部变量。
4 SqlSessionFactory
SqlSessionFactory是一个接口,接口中定义了openSession的不同重载方法,SqlSessionFactory的最佳使用范围是整个应用运行期间,一旦创建后可以重复使用,通常以单例模式管理SqlSessionFactory。
5 SqlSession
SqlSession是一个面向用户的接口, sqlSession中定义了数据库操作,默认使用DefaultSqlSession实现类。
6 selectOne和selectList
动态代理对象调用sqlSession.selectOne()和sqlSession.selectList()是根据mapper接口方法的返回值决定,如果返回list则调用selectList方法,如果返回单个对象则调用selectOne方法。
7 namespace
mybatis官方推荐使用mapper代理方法开发mapper接口,程序员不用编写mapper接口实现类,使用mapper代理方法时,输入参数可以使用pojo包装对象或map对象,保证dao的通用性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值