(一)
1.MyBatis简介
Mybatis是一个一流的持久框架,支持自定义SQL,存储过程和高级Mappings。 Mybatis减少了很多JDBC代码和手工设置的参数和提取结果步骤。
Mybatis可以使用一个简单的XML配置文件或者Annotation来配置和匹配实体,把接口和对应数据库记录的JAVA POJOs匹配起来。
不像其他持久框架一样,Mybatis并不把JAVA POJO和数据库表对应起来而是把JAVA代码中的办法与SQL语句匹配起来。
Mybatis让你使用数据库所用的功能,比如存储过程、视图、包含不同数据库复杂的查询语句。它经常是一个比较好的选择对于遗留或者非规范的数据库,并且拥有应用于全部的SQL执行能力。
相比JDBC而言,它简化了变成。SQL语句可以只使用一行来执行。
Mybatis提供一个Mapping的引擎,这个引擎可以以一种声明的方式将SQL语句结果匹配JAVA对象上。
SQL语句可以动态的创建,者需要使用类似XML语法的内建语言或者apache 整合插件(没翻译明白).
Mybatis可以与Spring框架和Google Guice一起使用。这可以使你不用考虑依赖的问题创建出业务代码。
Mybatis支持声明的data缓存。一个语句可以打上标记为需要缓存,这样这个语句的结果就会记录到缓存中,这样将来的执行就不用再去数据库中查询。Mybatis支持一个默认的基于JAVA HashMap和默认整合系统缓存,Ehcache,Hazelcast和Memcached的缓存实现。它提供一个API,可以把其他缓存实现的方法以插件形式插入进来。
2.什么是MyBatis?
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
3.原理理解
1.定义
MyBatis是支持自定义SQL、存储过程和高级映射的第一类持久性框架。
2.优势
MyBatis消除了几乎所有的JDBC代码和手动设置参数和检索结果。
3.实现
MyBatis可以使用简单的XML或注释来配置和地图原语、MAP接口和Java POJOS(朴素的Java对象)到数据库记录。
4.MyBatis需要使用的jar包
mybatis-3.3.0.jar
mysql-connector-java-5.
(二)
MyBatis源码对应的结构流程
1.SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息。mapper.xml文件即sql映射文件,文件中配置了操作数据库的sql语句,此文件需要在SqlMapConfig.xml中加载。
<?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="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/foretaste?zeroDateTimeBehavior=convertToNull "/> <property name="username" value="root"/> <property name="password" value="mysql123"/> </dataSource> </environment> </environments> <mappers> <mapper resource="mapper/UserInfoMapper.xml" /> </mappers> </configuration>
mapper.xml
2.通过mybatis环境等配置信息构造SqlSessionFactory(即会话工厂)。