Mybatis框架 基础】的更多相关文章

1.ORM的概念和优势 概念: 对象关系映射(Object Relational Mapping,简称ORM)是通过使用描述对象和数据库之间映射的元数据,将面向对象语言程序中的对象自动持久化到关系数据库中. Mybatis介绍                1.Mybatis是一个支持普通SQL查询.存储过程和高级映射的有限持久层框架.它消除了绝大部分的jdbc代码,简化了手工设置sql参数,对结果级的检索进行了封装. 2.Mybatis 可以使用简单的XML或注解方式来配置映射,将pojo(普…
MyBatis 项目已托管到GitHub,大家可以去GitHub查看下载!并搜索关注微信公众号 码出Offer 领取各种学习资料! 一.框架概述 1.1 什么是框架? 软件的半成品,解决了软件开发过程当中的普适性问题,从而简化了开发步骤,提供了开发的效率 1.2 什么是ORM框架? ORM(Object Relational Mapping)对象关系映射,将程序中的一个对象与表中的一行数据一一对应 ORM框架提供了持久化类与表的映射关系,在运行时参照映射文件的信息,把对象持久化到数据库中 1.3…
使用MyBatis开发Dao,通常有两个方法,即原始Dao开发方法和Mapper动态代理开发方法. 原始Dao开发方法需要程序员编写Dao接口和Dao实现类,此方式开发Dao,存在以下问题: Dao方法体存在重复代码:通过SqlSessionFactory创建SqlSession,调用SqlSession的数据库操作方法 调用sqlSession的数据库操作方法需要指定statement的id,这里存在硬编码,不便于开发维护. 所以建议使用mapper动态代理方式来开发dao. Mapper接口…
前言: java开发中常用的日志框架有Log4j,Log4j2,Apache Commons Log,java.util.logging,slf4j等,这些工具对外的接口不尽相同.为了统一这些工具的接口,Mybatis定义了一套统一的日志接口供上层调用,并为上述日志框架提供了相应的适配器. 在Mybatis的日志模块中,使用了适配器模式.Mybatis调用其他日志模块时,使用了其内部接口(org.apache.ibatis.logging.Log接口).但是第三方日志组件对外提供的接口各不相同,…
说明:Reflector是Mybatis反射工具的基础,每个Reflector对应一个类,在Reflector中封装有该类的元信息, 以及基于类信息的一系列反射应用封装API public class Reflector { private static final String[] EMPTY_STRING_ARRAY = new String[0]; /** * 对应的类Class对象 */ private Class<?> type; /** * 类中可读属性的集合,就是存在相应的get…
一.什么是Mybatis 这里借用官网的一句话介绍什么是mybatis:MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录. 二.Mybatis优势 2.1Mybatis相对JDBC有哪些优势 先…
思维导图 @有对应的例子 @1接入数据库 配置文件 <?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 "> <!--连接数据库需要的配置文件--…
简介:MetaClass是Mybatis对类级别的元信息的封装和处理,通过与属性工具类的结合, 实现了对复杂表达式的解析,实现了获取指定描述信息的功能 public class MetaClass { private ReflectorFactory reflectorFactory; private Reflector reflector; /** * 构造函数私有 */ private MetaClass(Class<?> type, ReflectorFactory reflectorF…
本篇主要介绍mybatis反射工具中用到的三个属性工具类:PropertyTokenizer.PropertyNamer.PropertyCopier. PropertyTokenizer: 主要用来解析Mybatis使用过程中遇到的类似"order[0].items[0].name"这种由"."和"[ ]"组成的表达式: public class PropertyTokenizer implements Iterator<Property…
ObjectFactory官方简介:MyBatis每次创建结果集对象的新实例时,它都会使用一个对象工厂(ObjectFactory)实例来完成. 默认的对象工厂需要做的仅仅是实例化目标类,要么通过默认构造方法,要么在参数映射存在的时候通过参数构造方法来实例化. 如果想覆盖对象工厂的默认行为,则可以通过创建自己的对象工厂来实现. ObjectFactory接口源码: public interface ObjectFactory { /** * mybatis核心配置文件中自配置<objectFac…